问题1:java中swich-case如果不带break,如果有一个case命中,为什么会执行后面不满足条件的case?
int x = 1;
swich (x) {
case 0 : System.out.println(0);
case 1 : System.out.println(1);
case 2 : System.out.println(2);
case 3 : System.out.println(3);
default : System.out.println(4);
}
输出结果:
1
2
3
问题2:如果default的位置并不处于最后,那么为什么无case命中时,执行了default之后还会继续执行default后的case中的语句?
int x = 5;
swich (x) {
case 0 : System.out.println(0);
default : System.out.println(4);
case 1 : System.out.println(1);
case 2 : System.out.println(2);
case 3 : System.out.println(3);
}
输出结果:
4
1
2
3
想了解一下原理。以及不带break的适用于什么业务场景?