流程控制语句

  表达式语句

  在表达式后面添加;就构成了表达式语句,简称“语句” 我们编写java代码,更多时候都是在书写表达式语句。 int i;声明语句 i = 10;赋值语句

  流程控制语句

  流程控制语句主要实现对代码的执行流程进行选择,循环,转向,返回等控制。按照对代码执行过程中的影响,一般我们把流程控制语句分成三种结构: 顺序结构:程序默认就是从上往下的顺序依次执行代码;就好像按照一条直道开车。 分支结构(选择结构):使得代码按照逻辑情况选择进行执行,就好像遇到了交叉路口。 包括:if语句,if...else语句,switch语句 循环结构:使得代码循环执行,就好像迷路了,绕着环岛一直开,直到想起来。 包括:while循环语句,do...while循环语句,for循环语句

  if语句,if...else语句

  if语句和if...else语句属于分支结构的流程控制语句。 要求if语句中的表达式都是boolean类型的值。 if 语句: if语句用来判断条件是否满足(真/假),根据判断结果决定是否执行语句。 if语句的代码结构: if(条件表达式){ 执行语句; } 代码执行流程: 1 判断表达式是否成立(true/false) 2 如果表达式成立,执行“执行语句”;否则跳过if语句,按照顺序结构执行if语句下面的代码。 比如判断质数素数 主要事项: 如果执行代码只有一行,可以省略大括号。如果省略大括号,if语句只对它后面的一条语句起作用。哪怕后面跟了空语句。 {}表示局部代码块,表示多条语句的集合。 if...else语句 if...else语句用来判断条件是否满足(真/假),根据判断结果决定执行语句1,还是执行语句2。二选一执行。 if...else语句代码结构: if(条件表达式){ 执行语句1; }else{ 执行语句2; } 代码执行流程: 1 判断表达式是否成立;如果为真,执行“执行语句1”,然后结束if...else语句,按照顺序结构,执行下面的代码 2 如果表达式不成立,执行“执行语句2”,然后结束if...else语句,按照顺序结构,执行下面的代码 if...else语句和?:三元表达式的逻辑很像,那么实际开发中怎么选择: 三元表达式的特点:结构简单;但是在java中整个表达式必须返回一个结果。所以在三元运算表达式中,如果执行语句是println等没有返回结果的语句,会导致编译器报错。 if...else if...else语句: if...else if ...else语句会判断哪个条件满足,然后执行那条语句。属于多选一的执行方式。 if...else if...else语句的代码结构: if(表达式1){ 执行语句1; }else if(表达式2){ 执行语句2; }else if(表达式3){ 执行语句3; } ... else{ else执行语句; } 代码执行流程: 1 判断表达式1是否成立;如果为真,执行“执行语句1”,然后结束if...else if...else语句,按照顺序结构,执行下面的代码。 2 如果表达式1不成立; 判断表达式2是否成立;如果为真,执行“执行语句2”,然后结束if...else if...else语句,按照顺序结构,执行下面的代码。 依次类推; 3 如果所有的表达式都不成立。执行“else执行语句”,然后结束if...else if...else语句,按照顺序结构,执行下面的代码。

  switch语句

  switch语句属于分支结构的流程控制语句。主要目的是实现多选一操作。 switch语句的代码结构: switch(表达式){ case 值1:执行语句1;break; case 值2:执行语句2;break; case 值3:执行语句3;break; ... default :default执行语句; } switch语句要求: switch表达式的值可以是byte,char,short,int,String。String是从jdk7.0之后开始。 值1,值2,值3,必须是常量 switch没个case语句后面,最好带有break关键字,否则会贯穿执行。 switch语句的代码执行流程: 1先计算表达式的值 2 根据表达式的值,进行匹配值1;如果匹配,执行“执行语句1”,如果后面有break,则跳出switch语句;否则贯穿执行“执行语句2”,“执行语句3”,“default执行语句”; 3 如果值1不匹配,进行匹配值2;如果匹配,执行“执行语句2”,如果后面有break,则跳出switch语句;否则贯穿执行“执行语句3”,“default执行语句”; 4 如果值2不匹配,进行匹配值3;如果匹配,执行“执行语句3”,如果后面有break,则跳出switch语句;否则贯穿执行“default执行语句”; 5 如果所以case值都不匹配,那么执行default语句。根据default语句位置,判断是否贯穿执行。 switch语句的逻辑,也可以使用if else if else语句实现。

  while循环

  while语句属于循环结构的流程控制语句。主要控制代码的反复执行。 while语句的代码书写格式: while(条件表达式){ 循环执行的语句; } 条件表达式返回一个boolean类型的值。 代码执行流程: 1 判断表达式是否成立,如果成立,执行“循环执行语句”;否则结束while循环 2 如此反复 注意: 如果表达式直接写变量ture,那么代码会一直循环执行“循环执行语句”。属于“死循环”。 在控制台,如果想要结束死循环,需要结束程序运行,ctrl+c 为了是while循环语句可以按照需要只执行有限次循环,我们通常使用变量控制。 int i = 0; while(i<10){ 执行语句; i++; } 如果只有一句循环语句,可以省略大括号。如果省略了大括号,while语句只对下面的一句话起作用,哪怕是空语句。

  do...while循环

  do...while语句的代码书写格式: do{ 循环执行的语句; }while(条件表达式); 条件表达式返回一个boolean类型的值。 代码执行流程: 1 首先执行“循环执行语句” 2 判断表达式是否成立,如果成立,执行“循环执行语句”;否则结束while循环 3 如此反复 它和while语句的区别: 无论条件是否成立,循环执行的语句总是要执行一次。 更多情况下,我们会使用while循环语句。它更符合我们的逻辑判断习惯。

  for循环

  for循环语句,属于循环流程控制语句。 代码书写结构: for(初始化语句 ; 判断语句 ; 每次循环后执行的语句){ 循环语句; } 初始化语句:进入for循环以后,首先执行的语句。整个for循环过程中,只执行一次。 判断语句:判断条件是否成立,如果成立,就继续执行for循环;否则结束for循环 每次循环执行完后,执行“每次循环后执行的语句” 代码执行流程: 1 进入for循环,执行“初始化语句” 2 判断“判断语句是否成立”,如果不成立,直接结束for循环 3 如果“判断条件”成立,执行“循环语句”,在执行“每次循环后执行的语句” 4 继续步骤2直到跳出for循环。 注意事项: 1 for( ; ; )是死循环 2 初始化语句可以写在for循环上面 3 每次循环后执行的语句,可以写在循环语句后面。

  转移字符

  在java中,一些字符有特殊的含义,比如",',\ 等,为了在编程中使用这些特殊的字符,我们需要用转义字符

  break,continue关键字

  break,结束当前循环;或者防止switch语句贯穿 continue,结束本次循环

函数

  函数了解

  函数:是为了提高代码的复用性,而把功能单独封装的代码。 比如我们求和2+3,4+5,6+7,如果不使用函数,需要不断创建变量,并且用代码求和。有了函数以后,就可以很容易实现。

  函数的代码书写格式

  函数的声明 修饰符 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2, ...){ 需要执行的代码; return 返回值; } 如果希望函数可以执行,必须要调用。 函数的调用 函数名(实际参数1,实际参数2, ...); 修饰符:用来修饰函数的访问权限,静态性等。 返回值类型:函数最终返回的数据的类型。 函数名:函数的名称,用户自己指定,要符合java标识符的规定 形式参数列表:属于函数内的局部变量,用于接受调用方传递过来的参数 实际参数:调用时候,传递的具体数据。 返回值:函数的具体运算结果。

  定义函数的步骤

  1 首先确定函数执行什么样的功能 2 确定最终希望函数返回的值得类型 3 确定函数需要哪些参数,以及参数的类型 4 给函数起名字,做到见名知意

  函数实例1 写一个函数,求两个int类型的整数的和。 写一个函数,求两个int变量中最大的值是多少

  void return关键字

  如果函数不需要返回值,声明函数的时候,返回值类型可以使用void 当执行到return关键字的时候,整个代码就算执行完毕,不管return后面有没有其他代码。 return关键字的作用: 1 返回结果给调用方。 2 结束函数的执行。

  函数的特点

  1 通过函数可以对功能代码进行封装 2 能够实现代码的复用 3 函数需要被调用才会执行 4 如果有返回值,直接使用return进行返回;没有返回值,可以使用return后面不加具体的值,也可以不要return语句。

  函数的重载

  函数重载:如果在一个类中,两个或者两个以上的函数具有相同的函数名称,但是不同的参数个数或者参数类型,我们称之为函数的重载。 重载的意义:为了让函数的调用变得更加灵活方便,优化程序的设计。

  重载实例: 写一个函数,求两个相同类型变量的和,可以是int类型,float类型

数组

  什么是数组

  数组:同一种数据类型的数据的集合。使用数组可以帮助我们方便有序的存储和管理多个相同类型的数据。 特点:使用索引设置或者查询变量的值。

  数组的声明方式

  动态声明方式: 类型[] 数组变量名 = new 类型[元素的个数]; int[] arr = new int[5]; 静态声明方式: 类型[] 数组变量名 = new 类型[]{元素列表}; int[] arr = new int[]{1,2,3,4,5}; 简单形式: 类型[] 数组变量名 = {元素列表}; int[] arr = {1,2,3,4,5};

  数组的内存图

  数组在内存中的存在形式,画图表示 数组一旦在内存中创建完毕了以后,长度就不能再发生变化了。

  数组的元素访问

  数组索引(脚标):数组是有序的,可以通过数组的索尼访问数组的元素。索引是数组中元素的位置编号,从0开始到元素的个数-1。 数组通过索引访问元素的代码格式 数组变量名[索引] 设置/修改对应元素的值 数组变量名[索引] = 常量; arr[1] = 10; 获取元素的值: 数组变量名[索引] println(arr[1]);

  数组元素的遍历

  依次访问数组中每个元素,我们称为“元素的遍历” 在代码中,我们可以通过循环配合脚标的方式,变量数组中元素。 public static void main(String[] args) { int[] x = { 1, 2, 3 }; System.out.println(x[3]); //java.lang.ArrayIndexOutOfBoundsException }

  数组常见问题

  1 数组越界 数组的索引是从0到数组元素个数减1;不要让索引超出这个范围 2 空指针异常 在java中除了八种基本数据类型是值类型以外,其他都属于是引用类型。数组属于引用类型,数组对象为null的情况下,不可以访问元素。

  数组的排序,查找

  数组的排序: 1 冒泡排序 2 选择排序 数组的查找: 二分法查找

  选择排序

  冒泡排序

  Arrays工具类的使用

  Arrays是一个类,存在于java.util包中。它有很多类方法,可以帮助我们进行数组对象的处理。 遍历: toString() 将数组的元素以字符串的形式返回 排序: sort() 将数组按照升序排列 查找: binarySearch()在指定数组中查找指定元素,返回元素的索引,如果没有找到返回(-插入点-1) 注意:使用查找的功能的时候,数组一定要先排序。

  二维数组

  二维数组:二维数组的实质是一维数组 二维数组的声明方式 动态声明: 类型[][] 数组变量名 = new 类型[二维元素个数][一维元素个数]; 静态声明: 类型[][] 数组变量名 = {{元素列表} , {元素列表} , ...}; 二维数组的内存图 二维数组的遍历 使用循环嵌套,配合索引,遍历。 二维数组的求和 遍历求和

java语法基础(二)的更多相关文章

  1. Java语法基础(1)

    Java语法基础(1) 1.      Java是一门跨平台(也就是跨操作系统)语言,其跨平台的本质是借助java虚拟机 (也就是JVM(java virtual mechinal))进行跨平台使用. ...

  2. Ruby语法基础(二)

    Ruby语法基础(二) 继续ruby的学习,这次主要把目光放到运算符,条件判断,循环,方法,以及其他ruby特有的基本概念上 运算符 算术运算符:+,-,/,%,**,值的注意的是,ruby中一切皆为 ...

  3. R语言语法基础二

    R语言语法基础二 重塑数据 增加行和列 # 创建向量 city = c("Tampa","Seattle","Hartford"," ...

  4. Java语法基础(二)----运算符

    一.运算符: 运算符包括下面几种: 算术运算符 赋值运算符 比较运算符 逻辑运算符 位运算符 三目运算符 最不常用的是位运算符,但也是最接近计算机底层的. 1.算术运算符 (1)+的几种用法:加法.正 ...

  5. 二:java语法基础:

    1,关键字:其实就是某种语言赋予了特殊含义的单词. 保留字:其实就是还没有赋予特殊含义,但是准备日后要使用过的单词. 2,标示符:其实就是在程序中自定义的名词.比如类名,变量名,函数名.包含 0-9. ...

  6. JavaSE 学习笔记之Java语法基础(二)

    1,关键字:其实就是某种语言赋予了特殊含义的单词. 保留字:其实就是还没有赋予特殊含义,但是准备日后要使用过的单词. 2,标示符:其实就是在程序中自定义的名词.比如类名,变量名,函数名.包含 0-9. ...

  7. java语法基础(一)

    这个是自己前两年做java视频教程时候的课件.感兴趣的同学可以参考下. 这里是纯粹的语法行总结. editplus的使用 选择项目目录 打开editplus 左侧目录导航栏 可以打开盘符,文件夹 可以 ...

  8. JAVA语法基础作业——动手动脑以及课后实验性问题 (八)

    一.动手动脑 运行AboutException.java示例,了解Java中实现异常处理的基础知识. 1)源代码 import javax.swing.*; class AboutException ...

  9. java语法基础

    Java的基本符号(token) Java的单词符号有五种:关键字.标识符.常量.分隔符和操作符. Java的字符集 Java 采用一种称为unicode的字符集,该字符集合是一种新的编码标准,与常见 ...

随机推荐

  1. LeetCode(80)Remove Duplicates from Sorted Array II

    题目 Follow up for "Remove Duplicates": What if duplicates are allowed at most twice? For ex ...

  2. 洛谷 P1156 垃圾陷阱 谈论剪枝,非满分

    这是一个91分的非dp代码(是我太弱) 剪枝八五个(实际上根本没那么多,主要是上课装逼,没想到他们dp水过去了),不过我的思路与dp不同: 1.层数到达i+1,return 这个必须有 2.当前剩余生 ...

  3. 【Codeforces 1006D】Two Strings Swaps

    [链接] 我是链接,点我呀:) [题意] 题意 [题解] 注意只能改变a不能改变b 然后只要让a[i],b[i],a[n-i-1],b[n-i-1]这4个字符能凑成两对.全都一样就可以了 分类讨论下就 ...

  4. 虚拟机(Visual Machine)的云平台的自动伸缩扩容(auto-scaling)技术

    云计算平台中允许客户依据应用的负载进行云计算资源的弹性动态伸缩(理想的情况是实现一个用多少付费多少的模型,最大限度地降低用户的运营成本) 在进行讨论之前,先对几个名词进行定义 1)客户:使用云服务的人 ...

  5. 用svn下载github中指定目录的文件

    1.先用命令看看github的分支 svn ls https://github.com/BlueRiverInteractive/robovm-ios-bindings 输出: branches/ t ...

  6. 搭建nexus私服,无法下载相关jar包,报错Repository proxy-mode is BLOCKED_AUTO

    在搭建nexus私服的时候,之前没直接用来下载maven的相关插件jar包,一直可以使用, 结果今天要编译hadoop的时候,在linux上新用maven就报错了,无法下载maven的相关插件(如下) ...

  7. Catch The Caw——(广度优先搜索的应用,队列)

    抓住那头牛(POJ3278)农夫知道一头牛的位置,想要抓住它.农夫和牛都位于数轴上,农夫起始位于点N(0<=N<=100000),牛位于点K(0<=K<=100000).农夫有 ...

  8. 几道hash题

    1: UVa 10887 - Concatenation of Languages map 可以做 ,但是输入实在恶心,有空串之类的HASH模板: int Hash(char *s){   int s ...

  9. maven打包时的三方包的选择顺序

    在一个项目有多个模块引用多个版本的某个插件(或者叫三方包.jar包等)时,如何解决版本冲突问题?最终选用某个版本还是选择几个版本? maven在遇到上面的情况时,会智能处理版本冲突,最终选择一个版本, ...

  10. django 简易博客开发 5 markdown支持、代码高亮、gravatar头像服务

    上一篇博客介绍了comments库使用及ajax支持,现在blog已经具备了基本的功能,但是只能发表文字,不支持富文本编辑.今天我们利用markdown添加富文本支持. markdown语法说明: h ...