更新時(shí)間:2020-11-02 17:35:46 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽1478次
在java中有三大控制流程結(jié)構(gòu),循環(huán)結(jié)構(gòu)作為其中的一員,想必各位java程序員和正在學(xué)習(xí)java的朋友們都不陌生,我們?cè)谇懊鎸W(xué)習(xí)過(guò)do while語(yǔ)法及原理,今天這篇文章來(lái)介紹for循環(huán)嵌套這個(gè)結(jié)構(gòu)該怎樣使用,帶大家更進(jìn)一步的學(xué)習(xí)循環(huán)結(jié)構(gòu)。
程序員的日常工作中,會(huì)遇到許多具有規(guī)律性的重復(fù)操作,在程序中就需要重復(fù)執(zhí)行某些語(yǔ)句這個(gè)時(shí)候可能就需要使用到循環(huán)結(jié)構(gòu)中的for循環(huán)嵌套。一組被重復(fù)執(zhí)行的語(yǔ)句稱之為循環(huán)體,能否繼續(xù)重復(fù),取決于循環(huán)的終止條件。循環(huán)結(jié)構(gòu)是在一定條件下反復(fù)執(zhí)行某段程序的流程結(jié)構(gòu),被反復(fù)執(zhí)行的程序被稱為循環(huán)體。循環(huán)語(yǔ)句是由循環(huán)體及循環(huán)的終止條件兩部分組成的。
我們從例子中理解for循環(huán)嵌套該怎樣使用:在使用for循環(huán)實(shí)現(xiàn)1~100所有數(shù)字的求和,實(shí)現(xiàn)思路是:定義變量i,初始值從1開(kāi)始,每循環(huán)一次加1,這樣就可以取到1~100的每一個(gè)整數(shù)了,那么求和怎么做呢?求和就是將1~100的每一個(gè)整數(shù)累加,這必然需要提前定義一個(gè)變量,使用變量實(shí)現(xiàn)累加,例如:a += 1,a += 2,a += 3...,代碼如下所示:
int sum = 0;
for(int i = 1; i <= 100; i++){
sum += i;
}
System.out.println("sum = " + sum);
運(yùn)行結(jié)果如下所示:
通過(guò)以上for循環(huán)程序我們可以學(xué)到什么?編程語(yǔ)言當(dāng)中的累加可以使用擴(kuò)展類賦值運(yùn)算符+=來(lái)實(shí)現(xiàn),另外sum變量為什么定義到for循環(huán)外面,而不是定義到循環(huán)體當(dāng)中呢?那是因?yàn)楫?dāng)定義到循環(huán)體內(nèi)之后,每一次循環(huán)體在執(zhí)行的時(shí)候,都會(huì)重新定義sum變量,這樣會(huì)讓sum變量歸0,無(wú)法達(dá)到累加的效果。
接下來(lái),我們?cè)谝陨铣绦虻幕A(chǔ)之上實(shí)現(xiàn)1~100所有奇數(shù)的和,編程思路是:在累加之前先判斷變量i是否為奇數(shù),如果是奇數(shù)則累加,這就需要在sum += i外面套一個(gè)if語(yǔ)句進(jìn)行控制,代碼如下所示:
運(yùn)行結(jié)果如下所示:
其實(shí)以上的方式是將每一個(gè)數(shù)字取出來(lái),然后再判斷是否為奇數(shù),這種方式會(huì)導(dǎo)致循環(huán)次數(shù)達(dá)到100次,實(shí)際上可以換成另外一種解決方案,假設(shè)從1開(kāi)始,每次累加2,那么每次取出的數(shù)字為1,3,5...,這樣正好每次取出的數(shù)字都是奇數(shù),可以直接累加了,這樣循環(huán)的次數(shù)基本上會(huì)減半,效率則提高了,這種代碼既優(yōu)雅,又高效。請(qǐng)看以下代碼:
運(yùn)行結(jié)果依然是“sum=2500”
以上演示的所有循環(huán)都是單層的,循環(huán)當(dāng)中可以for嵌套循環(huán)嗎?答案是:當(dāng)然可以,之前我們就說(shuō)過(guò)所有控制語(yǔ)句都是可以嵌套使用的,當(dāng)循環(huán)A中嵌套循環(huán)B的時(shí)候就等于在A循環(huán)體中的代碼是B循環(huán)。可以把A循環(huán)體當(dāng)中的B循環(huán)看做是一段普通的java代碼。接下來(lái)我們看一段代碼:
運(yùn)行結(jié)果如下圖所示:
分析以上for循環(huán)嵌套,請(qǐng)看下圖:
希望通過(guò)上面舉的例子,可以使朋友們理解for循環(huán)嵌套的使用,for循環(huán)結(jié)構(gòu)可以說(shuō)是在實(shí)際工作中使用頻率很高的一種語(yǔ)句結(jié)構(gòu),所以for循環(huán)嵌套的內(nèi)容對(duì)于java程序員來(lái)說(shuō)是必須掌握的,希望大家在學(xué)完for循環(huán)嵌套的基礎(chǔ)上,再通過(guò)java教程來(lái)學(xué)習(xí)更多關(guān)于java語(yǔ)法結(jié)構(gòu)的內(nèi)容,提高自己的java技能。
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)
初級(jí) 202925
初級(jí) 203221
初級(jí) 202629
初級(jí) 203743