switch中的case穿透现象
如果case语句后没有加break,则表达式会一直向下
匹配,直到遇到break语句,或default语句,或者整个程序执行完。
如
switch(test){
case 1:
case 2:
case 3:
case 4:
System.out.println("hello");
break;
}
上述代码中由于case1 case2 case3后面没有加break,所以无论
test取1,2,3,4中的哪一个,都会向下继续匹配并且触发System.out.println(“hello”);
一个完整的case穿透实例:
public class Test {
static void show(int x){
switch(x){
case 12:
case 1:
case 2:
system.out.println("冬季");
break;
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;
}
}
public static void main(String[] args) {
int mouth=6;
show(mouth);
}
}
版权声明:本文为qq_62087717原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。