【选择结构语句:switch】
switch 语句表达式:
switch(表达式){ case 值 1; 语句 1; break; case 值 2; 语句 2; break; …… Default; 语句体 n+1; break; }
格式的解释:
Switch:表示这是 switch 选择结构
表达式:这个地方的取值是有限定的。
byte, short, int, char
JDK5 以后可以是枚举;
JDK7 之后可以是字符串
面试题:
byte 可以作为switch 的表达式吗?
long 可以作为switch 的表达式吗?
String 可以作为switch 的表达式吗?
答:byte 可以,long 不可以,String 在 JDK7 之后可以。
case:后面跟的是要和表达式进行比较大的值。
语句体:要执行的代码。
break:表示中断,结束的意思,可以控制 switch 语句的结束。
Default:当所有的值都和表达式不匹配的时候,就执行 default 控制的语句,相当于 if语句的 else。
执行流程:
首先计算出表达式的值
其次,和 case 依次比较,一旦有对应的值,就会执行相应的语句,在执行的过程中,遇到break 就会结束。
最后,如果所有的 case 都和表达式的值不匹配,就会执行 default 语句体部分,然后程序结束掉。
Switch 语句使用注意事项:
1.case 后面只能是常量,不能是变量,而且多个case 后面的值不能出现相同的。
2.default 可以省略吗?可以省略,但不建议省略。因为他的作用是对不正常情况给出提示。
特殊情况:case 就可以把值固定时。如只有A,B,C,D
3.break 可以省略吗?可以,但不推荐。结果可能不是我们想要的,可能会出现 case 穿透。
4.default 的位置一定要在最后吗?不一定,可以在 switch 语句的任意位置,建议在最后。
5.switch 语句的结束条件:遇到break 就结束;或者行到结尾。
终身学习者