本帖最后由 dxw 于 2016-4-14 00:12 编辑
不一定①不加case会造成穿透.在遇到下一个break前,继续自上而下执行代码.
有时候可以利用这一特性
例如手动输入一个数判断是什么季节
x=sc.nextInt();
switch(x){
case 3:
case 4:
case 5:System.out.println("您输入的季节是春季");break;
case 6:
case 7:
case 8:System.out.println("您输入的季节是夏季");break;
case 9:
case 10:
case 11:System.out.println("您输入的季节是秋季");break;
case 12:
case 1:
case 2:System.out.println("您输入的季节是冬季");break;
default:System.out.println("您输入的数字有误");
}
如果输入3,在遇到case 5的break之前不会跳出switch语句.
②switch语句体最后一行如果没有添加break,系统会自动添加.所以,最后一个case语句可加可不加.效果一样
如
int x=3;
switch(x){
case 1:System.out.println(1);
case 2:System.out.println(2);
case 3:System.out.println(3);
}
输出3,退出switch语句
|