default什么时候会执行?default的位置对执行结果有影响吗?
default只有在case匹配失败的时候才会执行
- int a=4;
- switch (a){
- case 1:
- System.out.println("1");
- break;
- case 2:
- System.out.println("2");
- break;
- case 3:
- System.out.println("3");
- break;
- default:
- System.out.println("default");
- break;
- }
打印结果:default
当然也有特殊情况,就是case匹配成功了,但缺少了break语句
- int a=3;
- switch (a){
- case 1:
- System.out.println("1");
- break;
- case 2:
- System.out.println("2");
- break;
- case 3:
- System.out.println("3");
- default:
- System.out.println("default");
- break;
- }
打印结果:
3
default
default的位置对执行结果有没有影响,关键看default有没有使用break,先看有break的情况下是什么结果
- int a=4;
- switch (a){
- default:
- System.out.println("default");
- break;
- case 1:
- System.out.println("1");
- break;
- case 2:
- System.out.println("2");
- break;
- case 3:
- System.out.println("3");
- break;
- }
打印结果:default
接下来看看不加break是什么结果
-
- int a=4;
- switch (a){
- default:
- System.out.println("default");
- case 1:
- System.out.println("1");
- case 2:
- System.out.println("2");
- break;
- case 3:
- System.out.println("3");
- break;
- }
打印结果:
default
1
2
可以看到不加break的话会继续向下执行,直到遇到break或return或switch结束为止