C语言 switch default的位置
switch中的default,一般用在最后,表示非以上的任何情況下而發(fā)生的情況,我們一般習(xí)慣在他的后面加上個(gè)break。但是,如果default不是在最后,而是在前面或中間會(huì)發(fā)生什么情況呢:
先看看default在句首的情況:
int i = 2;
switch (i) {
default:
System.out.println("default");
case 0:
System.out.println("0");
case 1:
System.out.println("1");
case 2:
System.out.println("2");
break;
case 3:
System.out.println("3");
case 4:
System.out.println("4");
break;
}
他的輸出結(jié)果是:2! 很明顯,不是先執(zhí)行的default語(yǔ)句!
再看看下面語(yǔ)句:
int i = 8;
switch (i) {
default:
System.out.println("default");
case 0:
System.out.println("0");
case 1:
System.out.println("1");
case 2:
System.out.println("2");
break;
case 3:
System.out.println("3");
case 4:
System.out.println("4");
break;
}
他的輸出結(jié)果是:
default
0
1
2
出人意料?。膁efault開(kāi)始向后執(zhí)行!
再看看default在句中的情況:
int i = 2;
switch (i) {
case 0:
System.out.println("0");
case 1:
System.out.println("1");
break;
default:
System.out.println("default");
case 2:
System.out.println("2");
break;
case 3:
System.out.println("3");
case 4:
System.out.println("4");
break;
}
結(jié)果是2!顯然還是沒(méi)執(zhí)行default!
int i = 8;
switch (i) {
case 0:
System.out.println("0");
case 1:
System.out.println("1");
break;
default:
System.out.println("default");
case 2:
System.out.println("2");
break;
case 3:
System.out.println("3");
case 4:
System.out.println("4");
break;
}
結(jié)果:
default
2
顯然是從default開(kāi)始向后執(zhí)行的!
從上面可以看出:
switch default 之前的case按順序執(zhí)行(首先確定是否命中case,命中case,從命中case開(kāi)始執(zhí)行),最后執(zhí)行default,如果default 沒(méi)有break,繼續(xù)執(zhí)行default之后語(yǔ)句,直到跳出switch
總結(jié)
以上是生活随笔為你收集整理的C语言 switch default的位置的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 滑动平均滤波的截止频率与平均点数计算
- 下一篇: 游戏投放中的-LTV概念与价值