? ? ? ??int y=3; int x=3; switch (x+3){ case 6: y=1; default: y+=1; System.out.println(x); System.out.println(y);運行后結果是3 ? 2,不理解為什么是這個結果。而且一旦把switch (x+3)改成switch (x+2)或x+任意數或x-任意數結果就變成了 ?3 ? 4.是在myeclipse運行的,看debug調試也看不懂。求教,謝謝。
2 回答
已采納

woshiajuana
TA貢獻211條經驗 獲得超152個贊
int y=3;
int x=3;
switch (x+3){
case 6: y=1;
default: y+=1;
System.out.println(x);
System.out.println(y);
首先,switch (x+3)//這句話不會改變變量x的值 ?除非是x=x+3;所以x的值還是3
因為x+3 = 6,所以匹配case 6,執行y=1,這里y的值由3變成1,
然后因為沒有break跳出語句,繼續向下執行default: y+=1;?
y變成了2,然后switch 語句結束。所以最終結果是3 2
如果switch (x+3)改成switch (x+2)
就不會匹配case 6,直接執行default: y+=1;然后跳出switch語句,這個時候y為3,3+1的話就為4呀
添加回答
舉報
0/150
提交
取消