顺序结构:是程序最简单最基本的流程控制,没有特定的语法结构,按照代码的先后顺序,依次执行,程序中大多数的代码都是这样执行的。
执行流程:从上往下,依次执行。
if语句格式
格式1
if(比较表达式orboolean类型的值){
语句体;
}
执行流程:先计算比较表达式的值,返回值true还是false;
如果是true,执行语句体,如果是false,不执行语句体。
格式2
if(比较表达式){
语句体1;
}else{
语句体2;
}
注意:else后面没有比较表达式,只有if后面有。
执行流程:先计算表达式,返回值是true还是false;
如果是true,执行语句体1;如果是false,执行语句体2。
格式3
if(比较表达式1){
语句体1;
}else if(比较表达式2){
语句体2;
}else if(比较表达式3){
语句体3;
}
........
else{
语句体n;
}
执行流程:先计算表达式1,看返回值是true还是false;
如果是true执行语句体1,if语句结束;
如果是false,计算表达式2,看返回值是true还是false;
如果是true执行语句体2,if语句结束;
如果是false,计算表达式3,看返回值是true还是false;
.........
如果是false,执行语句体n。
switch语句
格式
switch(表达式){
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
case 值3:
语句体3;
break;
...............
default:
语句体n;
break;
}
解释:
(1)switch语句表达式取值:byte,short,int,char,JDK5版本后可以有枚举,JDK7版本后有String;
(2)case后面跟的是要和表达式进行比较的值;
(3)语句体可以是一条或多条语句;
(4)break表示中断、结束的意思,可以跳出switch语句;
(5)default语句表示所有情况都不匹配的时候,就执行该处语句,与if语句中的else相似。
执行流程:先计算表达式的值,然后和case中的值匹配,如果成功,执行该处语句。否则执行default中的语句。
注意事项:
(1)case后面只能是常量,不能是常量,也不能出现相同的值;
(2)default可以省略,但不建议,因为他的作用是对不正确情况给出指示;
(3)break可以省略,但不建议,会有case穿透现象;
(4)default可以在任意位置,但建议在最后;
(5)switch语句结束条件:遇到break就结束;执行到末尾就结束。