y不應(yīng)該等于4嗎? CASE 4:也執(zhí)行嗎? switch(x) 和 case 4 不匹配嗎 也執(zhí)行?。縫ublic class ErWei222{public static void main(String[] args){int x = 2,y=3;switch(x){default:y++;case 3:y++;break;case 4:y++;}System.out.println("y="+y);}}
2 回答

楊__羊羊
TA貢獻(xiàn)1943條經(jīng)驗(yàn) 獲得超7個(gè)贊
你執(zhí)行下這段代碼就知道了
public class ErWei222 { public static void main(String[] args) { int x = 2 , y = 3 ; switch (x) { default : y++; System.out.println( "default >> y=" + y); case 3 : y++; System.out.println( "case 3 >> y=" + y); break ; case 4 : y++; System.out.println( "case 4 >> y=" + y); } System.out.println( "y=" + y); } } |
最開始進(jìn)入default,y++,y變成4
然后因?yàn)閐efault沒有break,所以會向下穿透,進(jìn)入case 3 ,y++,y變成5
case 3有break,所以最后從這里跳出switch語句塊
所以最終y=5

至尊寶的傳說
TA貢獻(xiàn)1789條經(jīng)驗(yàn) 獲得超10個(gè)贊
1:進(jìn)入switch語句后,case 3和case 4都不匹配, 程序進(jìn)入default語句
2:執(zhí)行完default語句后y=4 ,由于defalut語句在最前面并且沒有break跳出,那么繼續(xù)執(zhí)行case3
3: case3執(zhí)行完后y=5, case 3 寫了break.所以跳出
最后輸出y=5
一般情況下.switch case 語句的偽代碼如下
switch (參數(shù)) { case 值 1 : 語句 1 ; break ; case 值 2 : 語句 2 break ; .... default : 語句; break ; //default在最后面寫,那么這個(gè)break可以省略 } |
添加回答
舉報(bào)
0/150
提交
取消