在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的。所以,我们必须清楚每条语句的执 行流程。而且,很多时候要通过控制语句的执行顺序来实现我们想要的功能。
分支结构(if, switch)
if语句格式1
格式:
if (关系表达式) {
语句体;
}
执行流程:
①首先计算关系表达式的值
②如果关系表达式的值为true就执行语句体
③如果关系表达式的值为false就不执行语句体
④继续执行后面的语句内容
if语句格式2
格式:
if (关系表达式) {
语句体1;
} else {
语句体2;
}
执行流程:
①首先计算关系表达式的值
②如果关系表达式的值为true就执行语句体1
③如果关系表达式的值为false就执行语句体2
④继续执行后面的语句内容
if语句格式3
格式:
if (关系表达式1) {
语句体1;
} else if (关系表达式2) {
语句体2;
}
… else {
语句体n+1;
}
执行流程:
①首先计算关系表达式1的值
②如果值为true就执行语句体1;如果值为false就计算关系表达式2的值
③如果值为true就执行语句体2;如果值为false就计算关系表达式3的值
④…
⑤如果没有任何关系表达式为true,就执行语句体n+1。
switch语句结构
switch (值) { case 1:
语句体1;
break; case 2:
语句体2;
break;
...
default:
语句体n+1; break;
}
执行流程:
① 首先计算出表达式的值
②其次,和case依次比较,一旦有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结束
③最后,如果所有的case都和表达式的值不匹配,就会执行default语句体部分,然后程序结束掉
*** 注意:如果switch中得case,没有对应break的话,则会出现case穿透的现象。
***switch可判断的范围比较大可以判断
基本数据类型:byte, short, char, int
字符串类型:String(Jdk 7+ 开始支持)
包装数据类型:Byte, Short, Character, Integer
枚举类型:Enum