3.1 if else 语句
3.1.1 if结构
格式:
if(关系表达式){语句体 }
3.1.1 if,else结构
格式:
if(关系表达式){语句体1} else { 语句体2}
3.1.3 if,else if, eles结构
格式:
if(关系表达式){语句体1} else if { 语句体2} else{ 语句体3}
3.2 switch 语句
switch语句将从与选项值相匹配的 case 标签处开始执行直到遇到 break 语句,或者执行到 switch i吾句的结束处为止。
如果没有相匹配的 case 标签, 而有 default 子句, 就执行这个子句。
格式:
switch (表达式){
case 常量a:
语句体1;
break;
case 常量b:
语句体2;
break;
case 常量c:
语句体3;
break;
.........
default:
语句体n;
break;
}
case 标签可以是:
•类型为 char、byte、 short 或 int 的常量表达式。
•枚举常量。
•从 Java SE 7开始, case 标签还可以是字符串字面量。
可以使用相关的变量名加冒号,然后使用break 到这个变量名,直接跳出循环,如下:
break用于完全结束一个循环,跳出循环体,执行循环后面的语句。
continue是跳过当次循环中剩下的语句,执行下一次循环。
3.3 for语句
for 循环语句是支持迭代的一种通用结构, 利用每次迭代之后更新的计数器或类似的变量 来控制迭代次数。
for 语句的第 1 部分通常用于对计数器初始化;
第 2 部分给出每次新一轮循环执行前要检 测的循环条件;第 3 部分指示如何更新计数器。
有一条不成文的 规则:for 语句的 3 个部分应该对同一个计数器变量进行初始化、 检测和更新。若不遵守这一 规则,编写的循环常常晦涩难懂。
当在 for 语句的第 1 部分中声明了一个变量之后,这个变量的作用域就为 for 循环的整个 循环体。
特别指出,如果在 for 语句内部定义一个变量, 这个变量就不能在循环体之外使用。
因此,如果希望在 for 循环体之外使用循环计数器的最终值,就要确保这个变量在循环语句的 前面且在外部声明!
另一方面,可以在各自独立的不同 for 循环中定义同名的变量。
for 循环语句只不过是 while 循环的一种简化形式。
3.4 for each语句
Java 有一种功能很强的循环结构, 可以用来依次处理数组中的每个元素(其他类型的元 素集合亦可)而不必为指定下标值而分心。
语句格式:
for (variable : collection) statemen;
定义一个变量用于暂存集合中的每一个元素, 并执行相应的语句(当然,也可以是语句块)。
collection 这一集合表达式必须是一个数组或者是一个实现了 Iterable 接口的类对象(例如 ArrayList)。
当然,使用传统的 for 循环也可以获得同样的效果,但是,for each 循环语句显得更加简洁、 更不易出错(不必为下标的起始值和终止值而操心。)
foreach 循环语句的循环变量将会遍历数组中的每个元素, 而不需要使用下标值。
有个更加简单的方式打印数组中的所有值, 即利用 Arrays 类的 toString 方法。
调用 Arrays.toString(a), 返回一个包含数组元素的字符串,这些元素被放置在括号内,并用逗号分隔, 例如,“ [2,3,5,7,11,13] ”。
3.5while和do while语句
while语句的格式:(可能一次也不执行)
while { condition ) statemen;
当条件为 true 时,while 循环执行一条语句(也可以是一个语句块)。
如果开始循环条件的值就为 false, 则 while 循环体一次也不执行。
while 循环语句首先检测循环条件。因此, 循环体中的代码有可能不被执行t 如果希望 循环体至少执行一次, 则应该将检测条件放在最后。
使用 do/while 循环语句可以实现这种操作方式。
do while语句格式:(至少执行一次)
do statement while { condition);
这种循环语句先执行语句 (通常是一个语句块,) 再检测循环条件;然后重复语句再检测循环条件,以此类推。