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