Java for迴圈語句

2019-10-16 22:21:16

for迴圈是一種重複控制結構,用於有效地編寫需要執行特定次數的迴圈。當知道要重複任務的次數時,for迴圈就很有用。

語法

for迴圈的語法是 -

for(initialization; boolean_expression; update) {
   // Statements
}

在上面語法中,

  • 首先執行初始化(initialization)步驟,並且僅執行一次。此步驟用於宣告和初始化迴圈控制變數,此步驟以分號(;)結束。
  • 接下來,計算布林表示式(boolean_expression)。 如果結果為:true,則執行迴圈體。 如果為false,則不執行迴圈體,控制跳轉到for迴圈之後的下一個語句。
  • 在執行for迴圈體之後,控制元件跳回到update語句。 此語句用於更新任何迴圈控制變數。此語句可以留空,最後是分號(;)。
  • 現在再次評估布林表示式(boolean_expression)。 如果結果為:true,則迴圈執行並重複該過程(迴圈體,然後是更新步驟,然後是布林表示式)。 布林表示式為false後,for迴圈終止。

for迴圈的流程圖如下

for循環流程

java中有三種型別的for迴圈,它們分別如下:

  • 簡單for迴圈
  • for-each或增強for迴圈
  • for迴圈與標籤

1. 簡單for迴圈範例

Java中的簡單for迴圈與C/C ++相同。可以初始化變數,檢查條件和增量/減量值。
假設要列印510的整數,在這種情況下可以使用基本的for迴圈。

//package com.yiibai.javaforloop;

public class JavaForLoop {

    public static void main(String[] args) {

        //print integers 5 to 10
        for (int i=5; i<=10; i++) {
            System.out.println("Java for loop example - " + i);
        }
    }
}

執行上面範例程式碼,得到以下結果 -

Java for loop example - 5
Java for loop example - 6
Java for loop example - 7
Java for loop example - 8
Java for loop example - 9
Java for loop example - 10

範例2. for增強型迴圈

Java中的for each迴圈也稱為增強型迴圈。可以使用for each疊代陣列或集合元素。Java for each迴圈是推薦的迴圈方式,因為它的程式碼編寫比較簡單和緊湊。

//package com.yiibai.javaforloop;

import java.util.ArrayList;
import java.util.List;

public class JavaForEachLoopExample {

    public static void main(String[] args) {
        int[] intArray = { 10, 20, 30, 40, 50 };

        for (int i : intArray)
            System.out.println("Java for each loop with array - " + i);

        List<String> fruits = new ArrayList<>();
        fruits.add("蘋果");
        fruits.add("香蕉");
        fruits.add("橙子");

        for (String f : fruits)
            System.out.println("Java for each loop with collection - " + f);
    }

}

執行上面範例程式碼,得到以下結果 -

Java for each loop with array - 10
Java for each loop with array - 20
Java for each loop with array - 30
Java for each loop with array - 40
Java for each loop with array - 50
Java for each loop with collection - 蘋果
Java for each loop with collection - 香蕉
Java for each loop with collection - 橙子

從上面的例子中可以看出,如果for迴圈中只有一個語句,不需要將它們放在花括號{}中。

範例3. for迴圈與標籤

可以在for迴圈中新增一個標籤,它對breakcontinue語句有用,可以退出外迴圈。 請注意,預設情況下,breakcontinue語句僅適用於內部迴圈。 下面是帶有標籤的for迴圈的範例以及它如何與continue語句一起使用。

import  java.util.Arrays;
public class JavaForLoopWithLabel {
    public static void main(String[] args) {
        int[][] intArr = { { 1, -2, 3 }, { 0, 3 }, { 1, 2, 5 }, { 9, 2, 5 } };
        process: for (int i = 0; i < intArr.length; i++) {
            boolean allPositive = true;
            for (int j = 0; j < intArr[i].length; j++) {
                if (intArr[i][j] < 0) {
                    allPositive = false;
                    continue process;
                }
            }
            if (allPositive) {
                // process the array
                System.out.println("Processing " + Arrays.toString(intArr[i]));
            }
            allPositive = true;
        }
    }
}

執行上面範例程式碼,得到以下結果 -

Processing [0, 3]
Processing [1, 2, 5]
Processing [9, 2, 5]