你的代码顺序是default,case 3,然后case 4,所以Y=6.switch是按照代码顺序来走的的,并不一定先走case.一下代码可以验证:
- class Cz1
- {
- public static void main(String[] args)
- {
- int x = 2,y=3;
- switch(x)
- {
-
- case 3:
- y++;
- case 4:
- y++;
- default:
- y++;
- }
- System.out.println("y="+y); //y=6
- }
- }
复制代码
上述代码,y的值为4.
当你把default去掉的话,由于x=2,进来之后没有符合的case所以相当于switch并没有执行一次任务,所以有还是原来的值为3. |