Java:多重选择switch语句

public class Demo {
    public static void main(String args[]) {
        char c = 'A' ;
        int num = 10 ;
        switch(c) {
            case 'B' :
                num ++ ;
            case 'A' :
                num ++ ;
            case 'Y' :
                num ++ ;
                break ;
            default :
                num -- ;
        }
        System.out.println(num) ;
    }
}

   最终执行结果是什么?

第一次看见这个问题的时候,我觉得num的输出应该是10,是觉得zai switch中匹配到了A这个case以后先进行了num的自增,然后在default里又自减了。其实是对switch的理解不够充分。

switch的使用有可能触发多个分支。如果在case分支语句的结尾没有break语句,那么就会接着执行下一个case分支语句。

所以最终执行结果应该是12.

猜你喜欢

转载自www.cnblogs.com/shannen/p/12303452.html