举例说明:
①
public static void main(String[] args) {
int i = 2;
switch (i) {
default:
("default");
case 0:
("0");
case 1:
("1");
case 2:
("2");
break;
case 3:
("3");
case 4:
("4");
break;
}
}
输出结果:
2
总结:
若有case满足,则执行case语句直到遇到break或switch语句结束
②
public static void main(String[] args) {
int i = 8;
switch (i) {
default:
("default");
case 0:
("0");
case 1:
("1");
case 2:
("2");
break;
case 3:
("3");
case 4:
("4");
break;
}
}
输出结果:
default
0
1
2
总结:
default在switch开头:
若所有case都不满足条件,则执行default,并执行default语句之后的case语句,直到break或结束
③
public static void main(String[] args) {
int i = 2;
switch (i) {
case 0:
("0");
case 1:
("1");
break;
default:
("default");
case 2:
("2");
break;
case 3:
("3");
case 4:
("4");
break;
}
}
输出结果:
2
总结:
若有case满足,则执行case语句直到遇到break或switch语句结束
④
public static void main(String[] args) {
int i = 8;
switch (i) {
case 0:
("0");
case 1:
("1");
break;
default:
("default");
case 2:
("2");
break;
case 3:
("3");
case 4:
("4");
break;
}
}
输出结果:
default
2
总结:
default在switch中间:
同②,若所有case都不满足条件,则执行default,并执行default语句之后的case语句,直到break或结束
⑤
public static void main(String[] args) {
int i = 8;
switch (i) {
case 0:
("0");
case 1:
("1");
break;
case 2:
("2");
break;
case 3:
("3");
case 4:
("4");
break;
default:
("default");
break;
}
}
输出结果:
default
总结:
default在switch末尾:
若所有case语句都不满足条件,则执行default语句
综上:
switch的执行是按照从小到大的顺序执行的,最后执行default语句,如果default后面带有break,那么程序就会正常跳出switch,否则,程序会继续向后执行switch语句!也就是说,不管default放在什么位置,它总是在最后一个处理,然后继续向下处理!
所以,最后的处理办法,避免出现以外结果的最好办法就是每一个case以及default语句都要加一个break!
版权声明:本文摘自****博主「nextfailure」的原创文章:Switch case break/ default总结