第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

你好,求問一下關(guān)于for 循環(huán) 結(jié)合 switch語句的使用,代碼如下哦

你好,求問一下關(guān)于for 循環(huán) 結(jié)合 switch語句的使用,代碼如下哦

慕田峪9158850 2022-01-06 11:07:33
public class Switchtest{int i=0,w=0;public Switchtest(){for(;i<=5;i++){switch(i){case 3:w+=1;case 0:w+=1;case 1:w+=1;continue;case 2:w+=1;case 4:w+=1;default:w+=2;}System.out.println(" "+w);}}public static void main(String []args){Switchtest stest=new Switchtest();}}運(yùn)行出來是 7 13 15想知道 具體的思路~謝謝
查看完整描述

3 回答

?
藍(lán)山帝景

TA貢獻(xiàn)1843條經(jīng)驗(yàn) 獲得超7個(gè)贊

我想你主要問的是這個(gè)吧:當(dāng)執(zhí)行完switch(0)后,continue,然后本次循環(huán)結(jié)束,就是說switch(0)也結(jié)束了,但是在執(zhí)行for(i=1)和switch(1)之前為什么沒有執(zhí)行后面的輸出語句輸出w的值.

要跳出switch語句有兩種方法break和switch語句執(zhí)行完畢。

case中如果沒有break的話它就不會(huì)跳出switch,continue跳不出switch語句,continue的意思為本次循環(huán)結(jié)束.
它在這個(gè)程序中就是i=0等的結(jié)束,而并不是跳出swich語句。所以switch會(huì)回到for()找到i的下一個(gè)值接著執(zhí)行.
例如本程序執(zhí)行完i=0后又找到i=1執(zhí)行,如果還是沒有遇到break或執(zhí)行完畢的話它就接著找,直到執(zhí)行完畢或找到break,跳出switch語句,然后再執(zhí)行后面的輸出語句.
最容易進(jìn)入的誤區(qū)就是以為遇到continue就認(rèn)為跳出了switch,然后就開始print.
case樓上的都說得很清楚了.很容易解決.

查看完整回答
反對(duì) 回復(fù) 2022-01-10
?
當(dāng)年話下

TA貢獻(xiàn)1890條經(jīng)驗(yàn) 獲得超9個(gè)贊

沒有運(yùn)行就沒有發(fā)言權(quán),我運(yùn)行了,是7 13 15
你應(yīng)該在沒句case 2:w+=1; 后面加 break;
這樣就跳到下面去了,如果沒有他,就繼續(xù)執(zhí)行下面的語句
比如case 3:w+=1;
case 0:w+=1;
如果你給的3 W先是1 執(zhí)行完后,沒有BREAK;就繼續(xù)執(zhí)行下面的,W=2;
依次類推

查看完整回答
反對(duì) 回復(fù) 2022-01-10
?
慕尼黑8549860

TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超11個(gè)贊

輸出結(jié)果沒有錯(cuò)
加了測(cè)試代碼和注釋,這樣思路就清晰多了
package testcode;

public class Switchtest {
int i = 0, w = 0;//實(shí)例變量,作用于整個(gè)類

public Switchtest() {//這個(gè)為構(gòu)造函數(shù),創(chuàng)建對(duì)象時(shí)就自動(dòng)執(zhí)行里面的代碼
for (; i <= 5; i++) {//初始條件永遠(yuǎn)為true
switch (i)//把循環(huán)后的i作為switch參數(shù),關(guān)鍵在與switch沒有break語句,用continue跳轉(zhuǎn)
{
case 3://如果i為3 w 加1,如果匹配到一個(gè)以后由于沒有break下面的就不再匹配按順序執(zhí)行了,以下同樣的說明省略
w += 1;
System.out.println("i = "+i+" case 3=" + w);
case 0://如果i為0 w 加1
w += 1;
System.out.println("i = "+i+" case 0=" + w);
case 1://如果i為1 w 加1,并跳出到上級(jí)循環(huán),即跳到for外面:
w += 1;
System.out.println("i = "+i+" case 1=" + w);
continue;
case 2://如果i為2 w 加1
w += 1;
System.out.println("i = "+i+" case 2=" + w);
case 4://如果i為4 w 加1
w += 1;
System.out.println("i = "+i+" case 4=" + w);
default://其他情況 w 加2
w += 2;
System.out.println("i = "+i+" case default=" + w);
}
System.out.println("i = "+i+" " + w);//輸出w的值
}

}

public static void main(String[] args) {
Switchtest stest = new Switchtest();//創(chuàng)建一個(gè)Switchtest對(duì)象

}

}
---------------------
輸出結(jié)果為:
i = 0 case 0=1
i = 0 case 1=2
i = 1 case 1=3
i = 2 case 2=4
i = 2 case 4=5
i = 2 case default=7
i = 2 7
i = 3 case 3=8
i = 3 case 0=9
i = 3 case 1=10
i = 4 case 4=11
i = 4 case default=13
i = 4 13
i = 5 case default=15
i = 5 15



查看完整回答
反對(duì) 回復(fù) 2022-01-10
  • 3 回答
  • 0 關(guān)注
  • 181 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)