选择(分支)结构的分类:if
结构和switch
结构
switch语句的格式:
switch(表达式){
case 值1:
语句一;
break;
case 值2:
语句二;
break;
case 值3:
语句三;
break;
...
default:
语句体 n+1;
break;
}
说明:
switch...case
表达式支持byte
、short
、int
、char
、String
(从JDK1.7开始支持字符串)- 可以用
switch..case
语句实现的一定可以用if…else语句实现。
执行流程:先计算表达式的值,然后和case后面的匹配,如果有就执行对应的语句,否则指定default控制的语句。
注意事项:
1、case后面只能是常量,不能是变量,而且,多个case后面的值不能出现相同的。
2、default可以省略吗?
- 可以省略,但是不建议,因为它的作用是对不正确的情况给出提示。
- 特殊情况:
case
就可以把值固定时,default
可以省略。
3、break可以省略吗?
- 最后一个可以省略,其他的最好不要省略
- 会出现
case
穿透现象,最终我们建议不要省略。
4、default一定要在最后吗?
- 不是,可以在任意位置(也是最后执行),但是建议在最后。
5、switch语句的结束条件:
- 遇到
break
就结束了。 - 执行到
switch
的右大括号就结束了。
6、总结switch语句和if语句的各自使用场景:
switch..case
建议判断固定值的时候使用if..else
建议判断区间或范围的时候使用