switch中可以不写default和break,但是会发生穿透,建议都写上。比如:
- /*output: 最后执行结果 y是7,执行过程如下:
- 首先会和5进行匹配,不成功。再继续向下执行,和6进行匹配,不成功。最后,
- 再执行default,由于default中没有break,所以程序继续顺序向下执行。
- 分别执行case 5 下的y++,再执行 case6下的y++, 再退出switch结构。
- */
- private static void method1()
- {
- int x=3;
- int y=4;
- switch(x)
- {
- default:
- y++;
- System.out.println("default: " + y);
- case 5:
- y++;
- System.out.println("case 5:" + y);
- case 6:
- y++;
- System.out.println("case 6: " + y);
- }
- System.out.println(y);
- }
复制代码 |