switch
语句格式:
switch(表达式) {
case 常量值1:
语句体1;
break;
case 常量值2:
语句体2;
break;
...
default:
语句体n+1;
break;
}
执行流程
- 首先计算出表达式的值
- 其次,和case依次比较,一旦有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结 束。
- 最后,如果所有的case都和表达式的值不匹配,就会执行default语句体部分,然后程序结束掉。default后的break可以省略,但强烈建议不要省略 注意事项:
- 多个case后面的值不可以重复;
- switch后面小括号中只能跟以下数据类型:
- 基本数据类型:byte,short,int,char
- 引用数据类型:enum(枚举),JDK7后可以接收String字符串
- switch语句格式可以很灵活:前后顺序可以颠倒,break可以省略; “匹配哪一个case就从哪一个位置开始向下执行,直到遇到break或程序结束为止。”
case的穿透性
在switch语句中,如果case的后面不写break,将出现穿透现象,也就是不会在判断下一个case的值,直接向后运 行,直到遇到break,或者整体switch结束。