Java中存在3种流程控制结构:顺序结构、选择结构、循环结构
顺序结构就是自上而下的结构,比较简单,我们着重总结后面两种,先看选择结构
选择结构
if控制语句
单分支结构
if(条件) {
语句 //当条件为true时执行的代码
}
双分支结构(if-else结构):
if(条件){
语句1 //当条件为true时执行的代码
}else{
语句2 //当条件为false时执行的代码
}
多分支结构(else-if结构):
形式1(直接分成三段):
if(条件1){
语句1 //当条件1为true时执行的代码
}else if(条件2){
语句2 //当条件2为true时执行的代码
} else if(条件3){
语句3 //当条件3为true时执行的代码
}
形式2(先分一小段,剩下的分两小段):
if(条件1){
语句1 //当条件1为true时执行的代码
}else if(条件2){
语句2 //当条件1为false而条件2为true时执行的代码
} else {
语句3 //当条件1为false而条件2为false时执行的代码
}
嵌套if结构:
if(条件1) {
if(条件2) {
语句1 //当条件1为true且条件2为true时执行的代码
} else {
语句2 //当条件1为true且条件2为false时执行的代码
}
}else{
if(条件3) {
语句3 //当条件1为false且条件3为true时执行的代码
}else {
语句4 //当条件1为false且条件3为false执行的代码
}
}
(先一分为二,再各一分为二)
如果if和else子句中要执行的语句超过一条,则必须将这些语句用大括号括起来
注意缩进和对齐,大括号成对出现,增强代码的可读性
如果没有大括号,则默认下一句为上一句括号内的语句
switch语句
switch(表达式){
case常量1:
语句;
break;
case常量2:
语句;
break;
...
default:
语句;
break;
}
switch后的表达式可以是int、short、byte、char、枚举类型、String
break用于终止后续语句的执行。如果case后面没有break,程序会继续向下执行,直到遇到break语句或者swich语句
default是可选的,当其他都不匹配的时候执行default
if与switch的异同点
相同点
都是用来处理多分支条件的结构
不同点
switch结构只能处理等值条件判断的情况,而多重if结构没有switch结构的限制,特别适合某个变量处于某个连续区间时的情况
总结
if选择结构
基本if选择结构:可以处理单一或组合条件的情况
if-else选择结构:可以处理简单的条件分支情况
多重if选择结构:可以处理分段的条件分支情况
嵌套if选择结构:可以处理复杂的条件分支情况
switch选择结构
多重分支并且条件判断是等值判断的情况