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

woshiajuana
TA貢獻(xiàn)211條經(jīng)驗(yàn) 獲得超152個(gè)贊
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)//這句話不會(huì)改變變量x的值 ?除非是x=x+3;所以x的值還是3
因?yàn)閤+3 = 6,所以匹配case 6,執(zhí)行y=1,這里y的值由3變成1,
然后因?yàn)闆]有break跳出語句,繼續(xù)向下執(zhí)行default: y+=1;?
y變成了2,然后switch 語句結(jié)束。所以最終結(jié)果是3 2
如果switch (x+3)改成switch (x+2)
就不會(huì)匹配case 6,直接執(zhí)行default: y+=1;然后跳出switch語句,這個(gè)時(shí)候y為3,3+1的話就為4呀
添加回答
舉報(bào)
0/150
提交
取消