作者依旧尽可能用白话描述,希望能给大家带来帮助
我们执行以下代码看一下结果
public class Test {
public static void main(String[] args) {
int a = 0;
switch (a) {
case 0:System.out.println(0);
case 1:System.out.println(1);
case 2:System.out.println(2);
case 3:System.out.println(3);
case 4:System.out.println(4);
}
}
}
大家觉得运行结果会是什么样?
可能有部分人会想,switch语句选择,a的值为0,肯定运行case:0的内容,输出0,我们来看结果
宣运行结果觐见!!!!

实际上,它全部运行了
这就是case的穿透性,如果不加break,它会以此向下执行,那我们加上break试验一下
public class Test {
public static void main(String[] args) {
int a = 0;
switch (a) {
case 0:
System.
本文通过示例解析了Java和C语言中switch语句的case穿透性。当case匹配后不加break,程序会继续执行后续的case,导致意外的运行结果。提醒开发者在使用switch时务必注意添加break来避免这种情况。
最低0.47元/天 解锁文章
2145

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



