1、分支语句
1.1 if
if( 表达式 ) { 执行语句块 }
1.2 if else
if( 表达式 ) { 执行语句块 } else { 执行语句块 }
注意:对于 if else 的使用,有时候也可以使用三目运算符来代替
1.3 if else if
if( 表达式 ) { 执行语句块 } else if ( 表达式 ) { 执行语句块 } ...(可嵌套多个else if)
1.4 switch case
switch( 表达式 ) {
case 取值1 : 语句块1
...
case 取值n : 语句块n
default : 语句块n+1
}
注意:
- 表达式的值只能接受int、byte、char、short、枚举,JDK1.7之后可以接受String
- 不允许有重复的case值
- switch一旦碰到第一次case匹配,则跳到该处运行,且会顺序执行之后所有程序代码,不论之后case是否匹配,直到碰到break语句为止
- 如果所有case都不匹配,则执行default对应语句块
2、循环语句
2.1 while
while( 条件表达式 ) { 执行语句块 }
2.2 do while
先do再while,即至少会执行一次循环
do{ 执行语句体 } while( 条件表达式 )
2.3 for
for ( 初始化表达式 : 循环条件表达式 : 循环后的操作表达式 ) { 执行语句块 }
2.4 循环终止 break、continue
在使用循环语句时,只有循环条件表达式的值为false时,才能结束循环。如果想要提前中断,需要使用break或continue语句。
2.4.1 break
- 跳出当前循环
- 循环是可以使用命名标号的,如果break没有指定标号中断,则默认是中断最近的循环
- 实际中很少对循环进行标号命名
loop1:
for (int i = 0; i < 4; i++) {
loop2:
for (int j = 0; j < 10; j++) {
if (j % 2 == 0) {
System.out.println(j);
break loop1; //指定标号,则跳出loop1,否则,仅跳出loop2
}
}
}
1
loop1:
2
for (int i = 0; i < 4; i++) {
3
loop2:
4
for (int j = 0; j < 10; j++) {
5
if (j % 2 == 0) {
6
System.out.println(j);
7
break loop1; //指定标号,则跳出loop1,否则,仅跳出loop2
8
}
9
}
10
}
2.4.2 continue
- continue用在循环语句体重,用于跳过continue之后未执行的循环,直接开始下一步循环
- continue只能出现在循环语句while、do while、for中
- continue即便在for中使用,只是跳出其执行语句块,循环后的操作表达式仍会执行