注意:
小心 case 穿透,推荐使用break语句
多个 case 可以合并到一起
default 可以省略,但不推荐省略
java SE 6中的 switch 语句只能探测 int 类型值
java SE 7开始可以探测字符串了
public class TestSwitch {
public static void main(String[] args) {
int i = 24;
switch(i) {
case 1:
System.out.println("1");
break;
case 3:
System.out.println("3");
break;
case 6:
System.out.println("6");
break;
case 8:
System.out.println("8");
break;
default:
System.out.println("error");
}
}
}
结果输出为:error
若将上述代码改为(把第一个break删掉)
public class TestSwitch {
public static void main(String[] args) {
int i = 1;
switch(i) {
case 1:
System.out.println("1");
case 3:
System.out.println("3");
break;
case 6:
System.out.println("6");
break;
case 8:
System.out.println("8");
break;
default:
System.out.println("error");
}
}
}
则输出为:1
3
若将代码改为
public class TestSwitch {
public static void main(String[] args) {
int i = 1;
switch(i) {
case 1:
case 3:
case 6:
System.out.println("6");
break;
case 8:
System.out.println("8");
break;
default:
System.out.println("error");
}
}
}
则输出为:6