public class test01 {
public static void main(String[] args) {
int k=1;
switch(k){
case 0:
System.out.println("case0");
case 1:
System.out.println("case1");
default:
System.out.println("no!");
case 2:
System.out.println("case2");
k=4;
case 3:
System.out.println("case3");
case 4:
System.out.println("case4");
}
}
}
- 前提条件:default在中间,并且全程没有break
- 情况1:所有的case里面没有一个能成功匹配
- 先执行default控制的语句,然后把default后面的所有语句无视case运行一遍(ps 如果有相同语句合并的就只执行一次,必须是写成了合并格式的语句哦!!!)
- 情况2:default前面有语句匹配成功了
- 先执行匹配成功的语句(匹配成功前的语句不需要执行),然后把后面的所有语句无视case按照书写顺序执行一遍(default也同样无视,所以原本default控制的语句不再是按照逻辑最后一句输出了!!!)
- 情况3:default后面有语句匹配成功了
- 先执行匹配成功的语句,然后无视case执行后面所有的语句,执行到最后一句就行,不需要再特地返回去执行一次default,那只是没匹配到的时候的办法