分支结构
if-else 构成分支
- 结构1:
if (表达式) {
语句块
}
执行流程:判断表达式是否成立,如果成立,执行语句块,如果不成立,跳过语句块继续往下执行。
- 结构2:
if (表达式) {
语句块1
}else {
语句块2
}
执行流程:判断表达式是否成立,如果成立,执行语句块1,如果不成立,执行语句块2,然后继续往下执行。
- 结构3:
if (表达式1) {
语句块1
}else if (表达式2) {
语句块2
}else if (表达式3) {
语句块3
}else {
语句块4
}
执行流程:判断表达式1是否成立,如果成立,执行语句块1,跳出if继续往下执行,如果不成立跳过语句块1判断表达式2是否成立,如果成立,执行语句块2,跳出if继续往下执行,如果不成立跳过语句块2判断表达式3是否成立,如果成立执行语句块3,跳出if继续往下执行,如果不成立跳过语句块3执行语句块4,然后继续往下执行。
- 结构4:
if (表达式1) {
语句块1
}else if (表达式2) {
语句块2
}else if (表达式3) {
语句块3
}else if (表达式4){
语句块4
}
执行流程:判断表达式1是否成立,如果成立,执行语句块1,跳出if继续往下执行,如果不成立跳过语句块1判断表达式2是否成立,如果成立,执行语句块2,跳出if继续往下执行,如果不成立跳过语句块2判断表达式3是否成立,如果成立执行语句块3,跳出if继续往下执行,如果不成立跳过语句块3判断表达式4是否成立,如果成立执行语句块4,然后继续往下执行,如果不成立跳过语句块4继续往下执行。
switch-case 构成分支
switch (表达式) {
case 常量表达式1:
语句1;
break;
case 常量表达式2:
语句2;
break;
case 常量表达式3:
语句3;
break;
default:
语句4;
break;
}
表达式:int、short、byte、char、enum(枚举)、String(Java7之后)
break:跳出switch结构。
default:不是必须的。
执行流程:计算表达式的值,和case后的常量表达式的值比对,如果匹配,执行相应语句,如果都不匹配,执行default对应的语句。