亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

case后面的值的意義何在?

case 值1 后若無break會跟著執行case2后的代碼塊,那么case后的值有何意義?不是需要匹配才執行嗎?

正在回答

2 回答

在這節課的第三點里說后面沒有break,就會跟著執行后面的代碼

這個應該像之前的(與、或、非的課程)里面提到的,程序“短路”現象一樣。課程源文:http://www.xianlaiwan.cn/code/1301

就像

boolean?A=true;
boolean?B=true;
boolean?C=False;

System.out.println(?A?||?B?&&?C?);?//結果為True

程序執行到前面,若已經滿足條件,則后面的判斷直接跳過


所以,這節課第三點中舉的例子,雖然名次定為1,可因為中間沒有break打斷

所以程序檢測到符合條件的(case1)后,后面不再進行判斷

直接把后面的代碼全部輸出了


1 回復 有任何疑惑可以回復我~

和switch()括號中的值進行匹配啊,case后面的值類似于選擇題中的ABCD四個選項,哪個和switch()括號中的一樣,就執行相應的后面的代碼。

0 回復 有任何疑惑可以回復我~
#1

要當程序員 提問者

所有的case后面都要跟break這個我沒懂,在這節課的第三點里說后面沒有break,就會跟著執行后面的代碼,不是與switch匹配才執行嗎?怎么沒有break也會跟著執行?例如這節課第三點中舉的例子,名次定為1,可后面輸出了四樣獎品?與1匹配的不是只有case1嗎?為何還會因為沒有break去執行不匹配的2、3、4?
2018-03-01 回復 有任何疑惑可以回復我~
#2

SamaPrince 回復 要當程序員 提問者

default是在前面的case都沒有匹配情況下才執行。其實switch類似于一個循環,你要是不用break的話是跳不出來的
2018-03-01 回復 有任何疑惑可以回復我~
#3

要當程序員 提問者 回復 SamaPrince

這樣說我能理解,但是跳不出來應該是個死循環,也不至于去執行后面的代碼,因為是要匹配才執行的呀。
2018-03-01 回復 有任何疑惑可以回復我~
#4

慕碼人9242148 回復 要當程序員 提問者

不會是死循環,沒有break的話,比喻和你的一匹配,但后面的代碼匹配都會打印出來
2018-04-07 回復 有任何疑惑可以回復我~
查看1條回復

舉報

0/150
提交
取消
Java入門第一季(IDEA工具)升級版
  • 參與學習       1167777    人
  • 解答問題       18749    個

0基礎萌新入門第一課,從Java環境搭建、工具使用、基礎語法開始

進入課程

case后面的值的意義何在?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號