好程式設計師Java培訓分享For迴圈詳解
好程式設計師Java 培訓分享 For 迴圈詳解 ,文中透過示例程式碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,下面我們一起來看一下吧。
對於java 中的 for 迴圈,我們用的最多的無非就是下面這個語句:
for (int i = 0; i < 10; i++) {
System.err.println(i);
}
但是對於for 迴圈來說,它也有很多變體,如果不清楚瞭解 for 迴圈的結構原理,遇上一些變體的 for 迴圈,可能一時不太明白它的含義, for 迴圈雖然有很多變體,但都離不開括號內 3 條語句的模式(除了增強 for 迴圈模式,後面再討論)
for 迴圈的結構:
for( 語句 A; 語句 B; 語句 C){
// 迴圈體
}
其中,語句A 在整個迴圈過程中,只會執行一次;語句 B 必須是布林型別的表示式(當然也可以不寫,如果寫就必須是布林型別表示式),透過該布林表示式去判斷是否繼續執行迴圈體;語句 C 會在每次迴圈結束後執行,也就是說,迴圈體執行多少次,語句 C 就會執行多少次。
其中語句的執行順序是:
語句A →(語句 B → 迴圈體 → 語句 C )→(語句 B → 迴圈體 → 語句 C )→ ... →退出迴圈
下面簡單介紹一些for 迴圈的變體:
變體一:語句豐富化多樣化,只要保證語句A 、 C 都是一條語句,語句 B 是布林表示式,語句想怎麼寫由你自己定。
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 省略,此時只有從迴圈體內退出迴圈,否則是無限迴圈。
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++;
}
說明:以上的變體,只是相對於我們常用的形式來講的,變體的結構本質是不變的,我們沒必要去刻意的使用變體的形式。之所以提出來講,只是希望以後遇到變體的情況,能儘快看懂迴圈的含義,不至於看到別人寫的程式碼,和自己寫的方式不一樣,然後一臉蒙圈。上面並未列出所有變體,簡單來說,語句A , B , C 都是可以單獨省略的。
對於增強for 迴圈,就不多做介紹了,用的也比較多,基本結構就是:
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);
}
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69913864/viewspace-2728467/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 好程式設計師Python培訓分享For迴圈用法詳解程式設計師Python
- 好程式設計師Python培訓分享Python系列之迴圈結構程式設計師Python
- 好程式設計師Java培訓分享Java動態代理機制詳解程式設計師Java
- 好程式設計師Java培訓分享Java程式設計技巧程式設計師Java
- 好程式設計師Java培訓分享SpringBoot -YAML程式設計師JavaSpring BootYAML
- 好程式設計師Java培訓分享Java程式設計師技能提升指南程式設計師Java
- 好程式設計師Java培訓分享maven-概述程式設計師JavaMaven
- 好程式設計師Java培訓分享BigDecimal的用法程式設計師JavaDecimal
- 好程式設計師Java教程分享Java 迴圈結構程式設計師Java
- 好程式設計師Java培訓分享如何快速入門Java程式設計程式設計師Java
- 好程式設計師Java培訓分享Java程式設計師常用的工具類庫程式設計師Java
- 好程式設計師Java培訓分享20個Java程式設計師基礎題程式設計師Java
- 好程式設計師Java培訓分享Java之反射技術程式設計師Java反射
- 好程式設計師Java培訓分享如何快速入門Java程式設計師Java
- 好程式設計師Java培訓分享Java包是什麼?程式設計師Java
- 好程式設計師Java培訓分享Java多執行緒程式設計師Java執行緒
- 好程式設計師Java培訓分享本地快取如何設計程式設計師Java快取
- 好程式設計師Java培訓分享SpringBoot -啟動流程程式設計師JavaSpring Boot
- 好程式設計師Java培訓分享Spring Ioc的原理程式設計師JavaSpring
- 好程式設計師Java培訓分享SpringBoot入門篇程式設計師JavaSpring Boot
- 好程式設計師Java培訓分享學Java程式設計要注意什麼程式設計師Java
- 好程式設計師Java培訓分享註解與反射原理說明程式設計師Java反射
- 好程式設計師web前端培訓分享JavaScript學習筆記之迴圈結構程式設計師Web前端JavaScript筆記
- 好程式設計師Python培訓分享Python中程式和執行緒詳解程式設計師Python執行緒
- 好程式設計師Java培訓分享Java和HTML的區別?程式設計師JavaHTML
- 好程式設計師Java培訓分享Java物件導向概念解析程式設計師Java物件
- 好程式設計師Java培訓分享Java初學者必讀程式設計師Java
- 好程式設計師Python培訓分享API自動化實戰詳解程式設計師PythonAPI
- 好程式設計師Java培訓分享MySQL算術運算子程式設計師JavaMySql
- 好程式設計師Java培訓分享SpringBoot -自動配置原理程式設計師JavaSpring Boot
- 好程式設計師Java培訓分享Mybatis面試題集合程式設計師JavaMyBatis面試題
- 好程式設計師Java培訓分享Java EE與Java的區別程式設計師Java
- 好程式設計師Python培訓之詳解eval好與壞程式設計師Python
- 好程式設計師Python培訓分享Python系列之分支和迴圈結構的應用程式設計師Python
- 好程式設計師Java培訓分享Java面試題集合篇一程式設計師Java面試題
- 好程式設計師Java培訓分享Java面試題集合篇二程式設計師Java面試題
- 好程式設計師Java培訓分享學習Java需要哪些基礎程式設計師Java
- 好程式設計師Java培訓分享面試Java的注意事項程式設計師Java面試