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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

麻煩解釋下這個程序怎么運行出這個結果的,謝謝。

麻煩解釋下這個程序怎么運行出這個結果的,謝謝。

莫summer 2016-08-23 17:20:38
? ? ? ??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呀


查看完整回答
9 反對 回復 2016-08-23
?
菜菜say

TA貢獻2條經驗 獲得超0個贊

樓上說的對√

查看完整回答
反對 回復 2016-08-23
  • 2 回答
  • 0 關注
  • 1601 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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