switch中的case穿透现象

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版权协议,转载请附上原文出处链接和本声明。