if分支:
一个分支结构:
if(条件表达式){
语句体1
}
两个分支:
if(条件表达式){
语句体1
} else{
语句体2
}
多个分支:
if(条件表达式){
语句体1
} else if{
语句体2
} else if{
语句体3
}
………
else{
语句体n+1
}
示例:
运行结果:
switch分支结构:
*先执行表达式的值,拿这个值去与case后的值进行匹配。
匹配到哪个case的值为true就执行哪个case,遇到break就跳出switch分支。
case后的值都不匹配则执行default代码。
结构表达式:
switch(表达式){
case 值1:
执行代码……;
break;
case 值2:
执行代码……;
break;
…………
case 值n-1:
执行代码……;
break;
default:
执行代码n;
}
示例:
运行结果:
总结:
1、if其实在功能上要远远强于switch
2、if适合做区间匹配
3、switch适合做值匹配的分支选择
4、switch不支持double类型匹配
5、switch中的case值不允许重复,不能用变量
6、switch的穿透:因为代码是从上往下执行的所以如果执行代码后不使用break则会从匹配到的值向下继续穿透输出