switch语句
switch语法:
switch(表达式){
case 常量表达式1:
语句块1
break;
case 常量表达式2:
语句块2
break;
case 常量表达式3:
语句块3
break;
………………
default:
语句块n
break;
}
语义:
先得出表达式的结果,根据结果跳转到相应的case语句块里面去执行
表达式结果 == 常量表达式 就叫相应的case语句块
如果case 后面的常量表达式没有一个跟表达式结果对应的
那么就跳转到 default里面执行语句块n
switch语句的穿透问题:
当case块里面不加break的时候,会发生穿透
穿透意思:就是从这个case块里面执行完语句后,会继续跳到下一个case块里面继续执行
所以,我们必须加break,防止穿透
break可以跳出当前的switch语句
switch语句需要注意的地方:
1.switch语句后面的小括号只能写整数类型的表达式,否则会报错
2.case后面只能接常量表达式
3.case后面的常量表达式不能有重复的值
4.switch小括号后面不要加分号,手贱要加分号加在大括号后面
5.case后面不能立即声明变量,除非在声明前面加一条或者N条语句
6.非要在 case后面立即声明变量怎么办??那么就在case块里面加一个大括号
7.如果不加大括号声明的变量,其他case块也可以访问(知道)
8.default可以写在任意位置,不影响结果