【Java】不带break将导致case穿透

case语句中要带break,不然switch找到了对应的case入口,后面的case(包括default)选择都被忽略,全部直接执行语句体,直到遇到break或switch结束


案例源代码:

public class CaseDemo {
    public static void main(String[] args){
        int x = 2 ;
        switch(x){
            case 1:
                System.out.println("case 1");
                //break;
            case 2:
                System.out.println("case 2");
                //break;
            case 3:
                System.out.println("case 3");
                break;
            default:
                System.out.println("default");
                break;
        }
    }
}

输出:

case 2
case 3

分析:可见switch找到了case2并执行到case3(case3有break)结束,发生case穿透

你可能感兴趣的:(JAVA)