格式
//表达式:可以是byte,short,int,char
//JDK5以后可以是枚举
//JDK7以后可以是字符串
switch(表达式)
{
case 值1: //case后面只能是常量,不能是变量,多个case后面的值不能相同
语句体1;
break; //break:表示程序到这里中断,跳出switch语句
case 值2:
语句体2;
break;
...
default: //default:如果所有的情况都不匹配,就执行这里,相当于if语句中的else
语句体n+1;
break;
}
面试题
-
switch语句的表达式可以是byte吗?可以是long吗?可以是String吗?
可以,不可以,JDK7以后可以 -
default可以省略吗?
可以省略,但是不建议,因为它的作用是对不正确的情况给出提示。
特殊情况:
case就可以把值固定。
A,B,C,D -
break可以省略吗?
可以省略,但是结果可能不是我们想要的。会出现一个现象:case穿透。最终我们建议不要省略 -
default一定要在最后吗?
不是,可以在任意位置。但是建议在最后。 -
switch语句的结束条件
a:遇到break就结束了
b:执行到末尾就结束了 -
如果匹配的case或者default没有对应的break,那么程序会继续向下执行,运行可以执行的语句,直到遇到break或者switch结尾结束。