Java學(xué)習(xí)day-06:嵌套循環(huán)

一、嵌套循環(huán)專題

1.什么是嵌套循環(huán)?

? ? ?在一個(gè)循環(huán)語句內(nèi)部再嵌套一個(gè)或多個(gè)循環(huán),稱為嵌套循環(huán)。while、do-while與for循環(huán)可以任意嵌套多層。

嵌套循環(huán)的語法結(jié)構(gòu):

(1)for(初始表達(dá)式;布爾表達(dá)式;迭代因子){

for(初始表達(dá)式;布爾表達(dá)式;迭代因子){

循環(huán)體;

循環(huán)體;

(2)for(初始表達(dá)式;布爾表達(dá)式;迭代因子){

for(初始表達(dá)式;布爾表達(dá)式;迭代因子){

if(布爾表達(dá)式){

語句塊;

}else{

語句塊;

循環(huán)體;

循環(huán)體;

(3)for(初始化表達(dá)式;布爾表達(dá)式;迭代因子){

for(初始化表達(dá)式;布爾表達(dá)式;迭代因子){

循環(huán)體;

}

for(初始化表達(dá)式;布爾表達(dá)式;迭代因子){

……

循環(huán)體;

}

循環(huán)體;

}

(4)while(布爾表達(dá)式){

if(布爾表達(dá)式){

語句塊;

}else{

語句塊;

循環(huán)體;

示例1-1嵌套循環(huán):

執(zhí)行步驟:

1.初始化i的值;判斷i的值是否小于等于5;如果滿足i<=5執(zhí)行第二步;否則結(jié)束整個(gè)循環(huán);(遍歷每一行的數(shù))

2.初始化j的值;判斷j是否小于等于5;如果滿足j<=5;打印i的值;否則返回第一步;(遍歷每一列的數(shù))

3.直到i不滿足小于等于5;結(jié)束循環(huán)。

代碼截圖
結(jié)果

示例1-2分別計(jì)算100以內(nèi)的奇數(shù)及偶數(shù)和

執(zhí)行步驟:

1.分別初始化偶數(shù)和sum2,奇數(shù)和sum3;初始化a代表100以內(nèi)的數(shù)

2.遍歷1~100內(nèi)的整數(shù),如果a小于等于100執(zhí)行下一步,否則結(jié)束循環(huán);

3.假如a是100以內(nèi)的數(shù);判斷a是偶數(shù)還是奇數(shù),若為偶數(shù)執(zhí)行sum2+=a;否則執(zhí)行sum3+=a;

4.直到a不滿足條件,結(jié)束循環(huán),分別輸出奇數(shù)和及偶數(shù)和。

代碼截圖
結(jié)果

示例1-3∑1+∑2+……+∑100(累加)

1.先定義累加的和sum并初始化為0;

2.將100以內(nèi)的整數(shù)遍歷;初始化i;當(dāng)i<=100執(zhí)行第二步,否則結(jié)束循環(huán);

3.內(nèi)循環(huán)進(jìn)行累加;通過判斷j<=i是否累加;還是返回上一層循環(huán);

4.直到i>100結(jié)束循環(huán),輸出累加值。

代碼截圖

示例1-4百錢百雞問題

需求:公雞5元一只,母雞3元一只,小雞一元3只,問100元100只雞的購買方法;

執(zhí)行步驟:

1.聲明i為公雞并初始化;100元錢公雞最多買20;所以第一層循環(huán)的布爾式為i<20;

2.聲明i為母雞并初始化;100元錢母雞最多買33;所以第二層循環(huán)的布爾式為i<33;

3.聲明i為小雞并初始化;100元錢小雞最多買300;但是總數(shù)不能超過,所以第三層循環(huán)的布爾式為i<100;

4.進(jìn)入最內(nèi)層循環(huán)后,通過判斷雞的總數(shù)為100與300元三種雞花費(fèi)錢是否相等;來輸出每種雞的數(shù)量。

5.通過遍歷每只雞的數(shù)量,循環(huán)判斷成立的條件,輸出每只雞的數(shù)量。

代碼截圖
結(jié)果

示例1-5打印倒立直角三角形

1.聲明i并初始化,布爾表達(dá)式i<6;控制打印行數(shù)為5行;(外循環(huán))

2.聲明j并初始化,布爾表達(dá)式j(luò)<6-i;控制每行打印的星星數(shù);(內(nèi)循環(huán))

3.直到i>=6;結(jié)束整個(gè)循環(huán);打印倒立直角三角形。

代碼截圖
結(jié)果

示例1-6打印平行四邊形、

思路:將左邊空白處看成倒直角三角形;

1.聲明i并初始化,布爾表達(dá)式i<4;控制打印行數(shù)為4行;(外循環(huán))

2.聲明j并初始化,布爾表達(dá)式j(luò)<3-i;控制打印空格循環(huán);(內(nèi)循環(huán))

4.聲明k并初始化,布爾表達(dá)式k<7;控制每行打印的星星數(shù);(內(nèi)循環(huán))

3.直到i>=4;結(jié)束整個(gè)循環(huán);打印平行四邊形。

代碼截圖
結(jié)果

示例1-7打印等腰三角形及倒立等腰三角形

打印等腰三角形執(zhí)行步驟:

1.聲明i并初始化,布爾表達(dá)式i<5;控制打印行數(shù)為4行;(外循環(huán))

2.聲明j并初始化,布爾表達(dá)式j(luò)<5-i;控制打印空格循環(huán);(內(nèi)循環(huán))

4.聲明j并初始化,布爾表達(dá)式j(luò)<2*i-1;控制每行打印的星星數(shù);(內(nèi)循環(huán))

3.直到i>=5;結(jié)束整個(gè)循環(huán);打印等腰三角形。

注意:不同語句塊聲明局部變量名相同時(shí)互不影響;

代碼截圖
結(jié)果

總結(jié):

1.不同循環(huán)語句及相同循環(huán)語句之間都可以嵌套;如:for循環(huán)嵌套for循環(huán);for循環(huán)嵌套while循環(huán);while循環(huán)嵌套for循環(huán)。

2.循環(huán)嵌套可以有多層,使用最多的是兩層;for循環(huán)嵌套for循環(huán)。

3.循環(huán)嵌套執(zhí)行步驟:

(1)外層判斷循環(huán)條件,滿足進(jìn)入外層循環(huán)體;

(2)內(nèi)層判斷循環(huán)條件;

(3)內(nèi)層循環(huán)體執(zhí)行;

(4)內(nèi)層循環(huán)變量累加,回到2執(zhí)行,直到不滿足內(nèi)層條件;

(5)外層循環(huán)變量累加,回到1執(zhí)行,直到不滿足外層循環(huán)條件,徹底退出循環(huán);

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容