swich机制

https://bbs.csdn.net/topics/392154630?page=1

刚看这帖子一脸懵逼,后来总结出来了以下几点:

1、switch中 验证case是否匹配并不是按顺序来的;

2、只有碰到"break"、"大括号"才结束;

3、case中少写了break,编译可以通过。不过,会继续执行之后所有case条件下语句而不再判断。

    若没有匹配的,则会直接跳到defult,然后接续执行之后的case条件下语句并不再判断

public class Test_A {
    public static void main(String[] args) {
        int i=1, j=0;
        switch(i) {
        case 2:
            j+=6;
        case 4:
            j+=1;
        default:
            j +=3;
        case 0:
            j +=4;
        }
        System.out.println("j="+j);
    }
}

输出:j=7

若i=2 则 输出:j=14


然后就是等以后空下来了 了解一下 “通过汇编码理解switch语句的原理”:

http://blog.csdn.net/cleanfield/article/details/6224769
http://blog.csdn.net/wenpinglaoyao/article/details/51099553




你可能感兴趣的:(swich机制)