如果当前匹配成功的 case 语句块没有 break 语句,则从当前 case 开始,后续所有 case 的值都会输出,直到遇见下一个break语句
Test.java 文件代码:
public class Test {
public static void main(String args[]){
int i = 1;
switch(i){
case 0:
System.out.println("0");
case 1:
System.out.println("1");
case 2:
System.out.println("2");
case 3:
System.out.println("3"); break;
default:
System.out.println("default");
}
}
}
输出:
1
2
3
原因:当匹配到第一个case后,以后的case不再判断是否匹配,只要不出现 break, 就会执行。
真是令人迷惑的设计。
本文详细解析了Java中Switch Case语句的穿透机制,当匹配成功后若无break语句,将连续执行后续case,直至遇到break为止。通过具体代码示例展示了这一特性,有助于深入理解Java控制流程。
561

被折叠的 条评论
为什么被折叠?



