case...break與switch...default ???
"3、 case 匹配后,執(zhí)行匹配塊里的程序代碼,如果沒(méi)有遇見(jiàn)?break?會(huì)繼續(xù)執(zhí)行下一個(gè)的 case 塊的內(nèi)容,直到遇到?break 語(yǔ)句或者 switch 語(yǔ)句塊結(jié)束?如"這里的意思是指case和break一起使用,而default是switch的結(jié)束語(yǔ)嗎?如果我是這樣理解的話(huà),“5、?default 塊可以出現(xiàn)在任意位置,也可以省略”又有矛盾了?
2015-03-26
前面那半句不對(duì).. 如果沒(méi)有default 而且沒(méi)有匹配到會(huì)報(bào)錯(cuò)
2015-03-26
default 的意思是 如果沒(méi)有遇到?jīng)]有跟case匹配的 就執(zhí)行default語(yǔ)句 ?但是default語(yǔ)句并不是switch 的結(jié)束語(yǔ) ?你也可以把所有情況列全 就不用default語(yǔ)句了。
break的意思你可能沒(méi)有太理解,它代表的是跳出循環(huán) 或者當(dāng)前塊,如果 沒(méi)有break的話(huà)他就會(huì)繼續(xù)執(zhí)行下面的代碼 ?效果跟
?????????????case '一':
? ? ? ? ? ? case '三':
? ? ? ? ? ? case '五':
是一樣的
2015-03-26
case 匹配后,執(zhí)行匹配塊里的程序代碼,如果沒(méi)有遇見(jiàn)?break?會(huì)繼續(xù)執(zhí)行下一個(gè)的 case 塊的內(nèi)容。對(duì),沒(méi)錯(cuò),就是case和break一起使用,如果沒(méi)有break,那么它還是繼續(xù)執(zhí)行下一個(gè)語(yǔ)句塊的內(nèi)容。default就是默認(rèn)的意思,也就是說(shuō)如果case沒(méi)有匹配到的話(huà),就會(huì)執(zhí)行default里面的內(nèi)容。
就拿課程里面這個(gè)做栗子吧
public class HelloWorld {
? ? public static void main(String[] args) {
? ? ?char today='一';
? ? ? ? switch(today){
? ? ? ? ? ? case '一':
? ? ? ? ? ? case '三':
? ? ? ? ? ? case '五':
? ? ? ? ? ? ? ? System.out.println("吃包子");?
? ? ? ? ? ? ? ? break;
? ? ? ? ? ? case '二':
? ? ? ? ? ? case '四':
? ? ? ? ? ? case '六':
? ? ? ? ? ? ? ? System.out.println("吃油條");?
? ? ? ? ? ? ? ?break;
? ? ? ? ? ?default:
? ? ? ? ? ? System.out.println("吃主席套餐");
? ? ? ? }
如果把這代碼塊里面的break都給刪了,那么控制臺(tái)就會(huì)依次輸出:
吃包子
吃油條
吃主席套餐
default我們也可以省略掉,是不是可以用一個(gè)case '日':來(lái)替換掉啊,效果是一樣的。