對(duì)于java中的for循環(huán),我們用的最多的無非就是下面這個(gè)語句:
for (int i = 0; i < 10; i++) { System.err.println(i);}但是對(duì)于for循環(huán)來說,它也有很多變體,如果不清楚了解for循環(huán)的結(jié)構(gòu)原理,遇上一些變體的for循環(huán),可能一時(shí)不太明白它的含義,for循環(huán)雖然有很多變體,但都離不開括號(hào)內(nèi)3條語句的模式(除了增強(qiáng)for循環(huán)模式,后面再討論)
for循環(huán)的結(jié)構(gòu):
for(語句A; 語句B; 語句C){ //循環(huán)體}其中,語句A在整個(gè)循環(huán)過程中,只會(huì)執(zhí)行一次;語句B必須是布爾類型的表達(dá)式(當(dāng)然也可以不寫,如果寫就必須是布爾類型表達(dá)式),通過該布爾表達(dá)式去判斷是否繼續(xù)執(zhí)行循環(huán)體;語句C會(huì)在每次循環(huán)結(jié)束后執(zhí)行,也就是說,循環(huán)體執(zhí)行多少次,語句C就會(huì)執(zhí)行多少次。
其中語句的執(zhí)行順序是:
語句A→(語句B → 循環(huán)體 → 語句C)→(語句B → 循環(huán)體 → 語句C)→ ... →退出循環(huán)
下面簡單介紹一些for循環(huán)的變體:
變體一:語句豐富化多樣化,只要保證語句A、C都是一條語句,語句B是布爾表達(dá)式,語句想怎么寫由你自己定。
for (int i = 0, j = 0; i < 10 | j< 12; i++, j++) { System.err.println(i); System.err.println(j); System.err.println("=========");}變體二:語句A省略
boolean flag = true;int m = 0;for (;flag; m++){ if (m==10) flag=false; System.err.println(m);}變體三:語句B省略,此時(shí)只有從循環(huán)體內(nèi)退出循環(huán),否則是無限循環(huán)。
int m = 0;for (;; m++){ if (m==10) break; System.err.println(m);}變體四:語句C省略
int m = 0;for (;;){ if (m==10) break; System.err.println(m); m++;}說明:以上的變體,只是相對(duì)于我們常用的形式來講的,變體的結(jié)構(gòu)本質(zhì)是不變的,我們沒必要去刻意的使用變體的形式。之所以提出來講,只是希望以后遇到變體的情況,能盡快看懂循環(huán)的含義,不至于看到別人寫的代碼,和自己寫的方式不一樣,然后一臉蒙圈。上面并未列出所有變體,簡單來說,語句A,B,C都是可以單獨(dú)省略的。
對(duì)于增強(qiáng)for循環(huán),就不多做介紹了,用的也比較多,基本結(jié)構(gòu)就是:
Integer[] arr = new Integer[]{1,2,3,4};for (Integer a : arr){ System.err.println(a);} List<String> list = new ArrayList<>();//add str...for (String str : list){ System.err.println(str);}以上所述是小編給大家介紹的Java for循環(huán)詳解整合,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)VeVb武林網(wǎng)網(wǎng)站的支持!
新聞熱點(diǎn)
疑難解答
圖片精選