2020-10-21
Java培訓(xùn)
好程序員Java培訓(xùn)分享For循環(huán)詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,下面我們一起來(lái)看一下吧。
對(duì)于java中的for循環(huán),我們用的最多的無(wú)非就是下面這個(gè)語(yǔ)句:
for (int i = 0; i < 10; i++) {
System.err.println(i);
}
但是對(duì)于for循環(huán)來(lái)說(shuō),它也有很多變體,如果不清楚了解for循環(huán)的結(jié)構(gòu)原理,遇上一些變體的for循環(huán),可能一時(shí)不太明白它的含義,for循環(huán)雖然有很多變體,但都離不開(kāi)括號(hào)內(nèi)3條語(yǔ)句的模式(除了增強(qiáng)for循環(huán)模式,后面再討論)
for循環(huán)的結(jié)構(gòu):
for(語(yǔ)句A; 語(yǔ)句B; 語(yǔ)句C){
//循環(huán)體
}
其中,語(yǔ)句A在整個(gè)循環(huán)過(guò)程中,只會(huì)執(zhí)行一次;語(yǔ)句B必須是布爾類型的表達(dá)式(當(dāng)然也可以不寫(xiě),如果寫(xiě)就必須是布爾類型表達(dá)式),通過(guò)該布爾表達(dá)式去判斷是否繼續(xù)執(zhí)行循環(huán)體;語(yǔ)句C會(huì)在每次循環(huán)結(jié)束后執(zhí)行,也就是說(shuō),循環(huán)體執(zhí)行多少次,語(yǔ)句C就會(huì)執(zhí)行多少次。
其中語(yǔ)句的執(zhí)行順序是:
語(yǔ)句A→(語(yǔ)句B → 循環(huán)體 → 語(yǔ)句C)→(語(yǔ)句B → 循環(huán)體 → 語(yǔ)句C)→ ... →退出循環(huán)
下面簡(jiǎn)單介紹一些for循環(huán)的變體:
變體一:語(yǔ)句豐富化多樣化,只要保證語(yǔ)句A、C都是一條語(yǔ)句,語(yǔ)句B是布爾表達(dá)式,語(yǔ)句想怎么寫(xiě)由你自己定。
for (int i = 0, j = 0; i < 10 | j< 12; i++, j++) {
System.err.println(i);
System.err.println(j);
System.err.println("=========");
}
變體二:語(yǔ)句A省略
boolean flag = true;
int m = 0;
for (;flag; m++){
if (m==10)
flag=false;
System.err.println(m);
}
變體三:語(yǔ)句B省略,此時(shí)只有從循環(huán)體內(nèi)退出循環(huán),否則是無(wú)限循環(huán)。
int m = 0;
for (;; m++){
if (m==10)
break;
System.err.println(m);
}
變體四:語(yǔ)句C省略
int m = 0;
for (;;){
if (m==10)
break;
System.err.println(m);
m++;
}
說(shuō)明:以上的變體,只是相對(duì)于我們常用的形式來(lái)講的,變體的結(jié)構(gòu)本質(zhì)是不變的,我們沒(méi)必要去刻意的使用變體的形式。之所以提出來(lái)講,只是希望以后遇到變體的情況,能盡快看懂循環(huán)的含義,不至于看到別人寫(xiě)的代碼,和自己寫(xiě)的方式不一樣,然后一臉蒙圈。上面并未列出所有變體,簡(jiǎn)單來(lái)說(shuō),語(yǔ)句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培訓(xùn):http://bloohash.com/javaEE_class.shtml
開(kāi)班時(shí)間:2021-04-12(深圳)
開(kāi)班盛況開(kāi)班時(shí)間:2021-05-17(北京)
開(kāi)班盛況開(kāi)班時(shí)間:2021-03-22(杭州)
開(kāi)班盛況開(kāi)班時(shí)間:2021-04-26(北京)
開(kāi)班盛況開(kāi)班時(shí)間:2021-05-10(北京)
開(kāi)班盛況開(kāi)班時(shí)間:2021-02-22(北京)
開(kāi)班盛況開(kāi)班時(shí)間:2021-07-12(北京)
預(yù)約報(bào)名開(kāi)班時(shí)間:2020-09-21(上海)
開(kāi)班盛況開(kāi)班時(shí)間:2021-07-12(北京)
預(yù)約報(bào)名開(kāi)班時(shí)間:2019-07-22(北京)
開(kāi)班盛況Copyright 2011-2023 北京千鋒互聯(lián)科技有限公司 .All Right 京ICP備12003911號(hào)-5 京公網(wǎng)安備 11010802035720號(hào)