四、 流程控制语句
4.1 顺序结构
自上向下 依次执行
4.2 选择结构
4.2.1 If 语句的结构
4.2.1.1 格式1
首先判断关系表达式看其结果是true还是false
如果是true就执行语句体
如果是false就不执行语句体
4.2.1.2 格式2
首先判断关系表达式看其结果是true还是false
如果是true就执行语句体1
如果是false就执行语句体2
4.2.1.3 格式3
首先判断关系表达式1看其结果是true还是false
如果是true就执行语句体1
如果是false就继续判断关系表达式2看其结果是true还是false
如果是true就执行语句体2
如果是false就继续判断关系表达式…看其结果是true还是false
…
如果没有任何关系表达式为true,就执行语句体n+1
4.2.2 switch 语句
4.2.2.1 switch 语句的格式
switch(表达式) { //表达式的取值:byte,short,int,char,枚举(JDK5),String(JDK7)
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
case 值3:
语句体3;
break;
...
default:
语句体n+1;
break;
}
首先计算出表达式的值
其次,和case依次比较,一旦有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结束
最后,如果所有的case都和表达式的值不匹配,就会执行default语句体部分,然后程序结束掉。
4.3 循环结构
4.3.1 for 循环
4.3.1.1 for 循环语句的格式
for( 初始化语句 ; 判断条件语句 ; 控制条件语句 ) {
循环体语句;
}
4.3.1.2 for 死循环
for(;;){
循环体;
}
4.3.2 while 循环
4.3.2.1 while 循环语句的格式
while(判断条件语句) { //基本格式
循环体语句;
}
初始化语句;
while(判断条件语句) { //扩展格式
循环体语句;
控制条件语句;
}
4.3.2.2 while 死循环
while(true){
循环体;
}
4.3.3 dowhile 循环
4.3.3.1 dowhile 循环语句的格式
do { //基本格式
循环体语句;
}while((判断条件语句);
初始化语句; //扩展格式
do {
循环体语句;
控制条件语句;
} while((判断条件语句);
4.3.4 三种循环的区别
虽然可以完成同样的功能,但是还是有小区别:
do…while循环至少会执行一次循环体。
for循环和while循环只有在条件成立的时候才会去执行循环体
for循环语句和while循环语句的小区别:
控制条件语句所控制的那个变量,在for循环结束后,就不能再被访问到了,而while循环结束还可以继续使用,如果你想继续使用,就用while,否则推荐使用for。原因是for循环结束,该变量就从内存中消失,能够提高内存的使用效率。
4.3.5 循环嵌套
for( 初始化表达式1 ; 条件判断语句1 ; 条件控制语句1 ){
for( 初始化表达式2 ; 条件判断语句2 ; 条件控制语句2 ){
循环体;
}
}
4.3.6 循环控制
4.3.6.1 break
在单层循环中是:满足条件后结束整个循环 也可以结束switch...case语句
在多层循环嵌套中:结束离他最近的那个循环,如果要指定结束某个循环 ,可以使用带标签名的明明方式
4.3.6.2 continue
满足条件后跳过当前循环 进入下一次循环