目录
三,多路分支
前言
if else 的级联是在不同的取值范围执行不同的动作,
而多路分支则是,当取不同的确定的值,选择不同的特定的程序执行起点。
1,switch-case整体基本格式
switch(控制表达式){
case 常量
语句
break;
case 常量
语句
break;
case 常量
语句
beak;
default:
语句
}
注意:
控制表达式只能是整数型的结果
常量可以是常数,也可以是常数计算的表达式
break不是必须的,它的作用后面在讲
2,整体理解
switch后括号中的控制表达式得出了一个值(该值必须为整数),计算机会看看case后面的常量,那个case的常量与那个值相同,计算机就从哪个case后面的语句开始执行。这个case前面的case的语句不会被执行,其后面的case的语句,会依次被执行(我是想强调case只起确定起点的作用,不要认为只执行一个case的语句,不执行后面的case语句。)如果没有任何一个case的常量与那个值相同,计算机就会执行default之后的语句。而当计算机遇见break会立即停止switch,执行后面的语句。
switch(a){
case 1:
a=a+1;
case 2:
a=a+2;
case 3:
a=a+3
break;
}
可想象一条长长的走廊,走廊两边有许多的门,有些只能进,有些只能出,只能进的门上还有门牌号,还有一个特殊的入口门没有门牌号,走廊的尽头也是一个出口门。
我们需要进入并离开这条走廊,并且我们想快速的离开,上帝告诉我们一个门牌号,我们从那扇门进入,并从最近的出口门出去。
如果上帝不给我们门牌号,我们只能从特殊的入口门进入。
3,逐个解释
switch控制表达式的结果就是上帝给的门牌号,
case就是入口门,它的常量就是门牌号。
case的语句可认为是每个入口门后面的路
break就是出口门
default就是特殊的入口门
特殊的出口门其实代表这段switch代码的正常结束