如果不能,为什么?
不能的,你可以把它看成if...else if...else
switch(a){
case 1:.....
case 2:.....
default:.......
}
可以看成是
if(a==1) ......
else if(a==2).......
else ......
不能
这是规定
switch(表达式){
case 整数1: 语句1;
case 整数2: 语句2;
...
case 整数n: 语句n;
default: 语句n + 1;
}
对于 switch case 语句的执行过程,如下:
1)首先,计算 表达式 的值,假设为 $x$;
2)然后,从第一个 case 开始,比较 $x$ 和 整数1 的值,如果相等,就执行冒号后面的所有语句,也就是从 语句1 一直执行到 语句n + 1,而不管后面的 case 是否匹配成功(这是平时开发的易错点,需要特别注意)。
3)如果 $x$ 和 整数1 不相等,就跳过冒号后面的 语句1,继续比较第二个 case、第三个 case……,一旦发现和某个 整数 相等了,就会执行后面所有的语句。假设 $x$ 和 整数6 相等,那么就会从 语句6 一直执行到 语句n + 1。
4)如果直到最后一个 整数n 都没有找到相等的值,那么就执行 default 后的 语句n + 1。