【java學習】控制執行流程
1,for迴圈
1.1 for執行順序
for(表示式1;表示式2;表示式3){
}
先執行表示式1–>然後執行表示式2,如果為false,結束迴圈,否則執行迴圈體–>執行表示式3
1.2 foreach迴圈
for(Object item : ObjectList){
}
1.3 迴圈效率比較
在 JDK1.5 之後,至少有三種遍歷的方式:ForEach、迭代器、for迴圈。
直接for迴圈效率最高,其次是迭代器和 ForEach操作。
對於集合,ArrayList手寫的迴圈比增強型for迴圈更快,其他的集合沒有這種情況。因此預設情況下使用增強型for迴圈,而遍歷ArrayList使用傳統的迴圈方式。
作為語法糖,其實 ForEach 編譯成 位元組碼之後,使用的是迭代器實現的,反編譯後,testForEach方法如下:
public static void testForEach(List list) {
for (Iterator iterator = list.iterator(); iterator.hasNext();) {
Object t = iterator.next();
Object obj = t;
}
}
//可以看到,只比迭代器遍歷多了生成中間變數這一步,因為效能也略微下降了一些。
2,while迴圈
2.1 while執行順序
while(表示式1){
表示式2;
}
每次迴圈,先執行表示式1,再執行表示式2.
2.2 do-while執行順序
do{
表示式1;
}while(表示式2);
每次迴圈,先執行表示式1,再執行表示式2.
3,return,break,continue
只有一點需要注意,break和continue是對當前迴圈進行控制,多層迴圈也只能跳出當前迴圈。
4,switch
switch(m){
case 1:
case 2:
default:
}
4.1 break
只需要注意一點,沒有break,會依次執行後續的case和default。
4.2 支援型別
byte、short、char、int (Java 5以前);
enum列舉型別(Java5);
字串(String)(Java 7)。
長整型(long)在目前所有的版本中都是不可以的。
相關文章
- Java多執行緒學習(2)執行緒控制Java執行緒
- Java學習之流程控制Java
- Java學習之流程控制練習Java
- Spark學習(一)——執行模式與執行流程Spark模式
- java 執行緒學習Java執行緒
- Java多執行緒學習Java執行緒
- Shell學習【流程控制】
- 流程控制與陣列—Java基礎學習(二)陣列Java
- #大學#Java多執行緒學習02(執行緒同步)Java執行緒
- Java多執行緒學習——執行緒通訊Java執行緒
- Java 多執行緒NIO學習Java執行緒
- 【java學習】ThreadPoolExecutor 執行緒池Javathread執行緒
- Java多執行緒學習(一)Java多執行緒入門Java執行緒
- Mybatis執行流程學習之手寫mybatis雛形MyBatis
- Java控制流程Java
- Java學習(28)—(執行緒的控制/生命週期/解決安全問題)Java執行緒
- 重新學習Java執行緒原語Java執行緒
- Java 多執行緒學習筆記Java執行緒筆記
- Java類初始化執行流程Java
- Java多執行緒學習(3)執行緒同步與執行緒通訊Java執行緒
- 零基礎學Java(6)控制流程Java
- Java流程控制Java
- 學習JAVA的第一天 流程控制及判斷Java
- Java多執行緒學習(八)執行緒池與Executor 框架Java執行緒框架
- Sermant執行流程學習筆記,速來抄作業筆記
- Java多執行緒學習筆記(自用)Java執行緒筆記
- 【分支流程控制語句、迴圈流程控制語句】的學習
- Thinking in Java--Java多執行緒學習筆記(1)ThinkingJava執行緒筆記
- Java多執行緒學習(1)建立執行緒與執行緒的生命週期Java執行緒
- 最全java多執行緒學習總結1--執行緒基礎Java執行緒
- mybatis原始碼學習:外掛定義+執行流程責任鏈MyBatis原始碼
- Thinking in Java---多執行緒學習筆記(2)ThinkingJava執行緒筆記
- Java多執行緒學習(六)Lock鎖的使用Java執行緒
- Java多執行緒學習(三)volatile關鍵字Java執行緒
- 死磕 java執行緒系列之執行緒池深入解析——普通任務執行流程Java執行緒
- 小白學習Golang(五)Go語言流程控制Golang
- 04.Java 流程控制Java
- Java流程控制語句Java