HOWTO · Java

Java 中使用多個變數進行 for 迴圈

本教程將介紹使用多變數的 for 迴圈的方法。

本教程介紹了我們如何在 Java for 迴圈中使用多個變數。我們可以通過正確遵循 java for 迴圈的語法來實現。

Java for 迴圈中使用多個相同型別的變數

我們在 int 型別的 for 迴圈中使用了兩個變數。第一個 ; 之前的部分是初始化部分,在這裡我們可以初始化多個用逗號隔開的變數,第二個 ; 之前的部分是條件部分,之後是操作部分。&&||運算子可以用來建立條件。

public class ForLoop {
  public static void main(String[] args) {
    for (int i = 0, j = 10; i < 10 && j > 0; i++, j--) {
      System.out.println("i = " + i + " :: "
          + "j = " + j);
    }
  }
}

輸出:

i = 0 :: j = 10
i = 1 :: j = 9
i = 2 :: j = 8
i = 3 :: j = 7
i = 4 :: j = 6
i = 5 :: j = 5
i = 6 :: j = 4
i = 7 :: j = 3
i = 8 :: j = 2
i = 9 :: j = 1

在上面的程式碼中,我們宣告瞭兩個變數 - ij,型別與 int 相同。i 將從 0 開始,一直遞增到 10,而 j 將從 10 開始,一直遞減到 0。

用逗號隔開的多個條件是不正確的,因為它會給出一個錯誤,可以通過一個簡單的例子來理解,如下所示。

public class ForLoop {
  public static void main(String[] args) {
    for (int i = 0, j = 10; i < 10, j > 0; i++, j--) {
      System.out.println("i = " + i + " :: "
          + "j = " + j);
    }
  }
}

輸出:

error: ';' expected
        for (int i = 0, j = 10; i < 10 , j > 0; i++, j--) {
                                      ^
ForLoopSame.java:6: error: illegal start of expression
        for (int i = 0, j = 10; i < 10 , j > 0; i++, j--) {
                                       ^
ForLoopSame.java:6: error: ')' expected
        for (int i = 0, j = 10; i < 10 , j > 0; i++, j--) {
                                        ^
ForLoopSame.java:6: error: illegal start of expression
        for (int i = 0, j = 10; i < 10 , j > 0; i++, j--) {
                                           ^
ForLoopSame.java:6: error: ';' expected
        for (int i = 0, j = 10; i < 10 , j > 0; i++, j--) {
                                            ^
ForLoopSame.java:6: error: ';' expected
        for (int i = 0, j = 10; i < 10 , j > 0; i++, j--) {
                                                   ^
ForLoopSame.java:6: error: ';' expected
        for (int i = 0, j = 10; i < 10 , j > 0; i++, j--) {
                                                        ^
7 errors

帶有多個不同型別變數的 Java for 迴圈

這個例子略有不同。它有兩個相同型別的變數 yz,在迴圈中宣告和初始化。另一個變數 x 是在迴圈外宣告和初始化的,後來在迴圈的條件部分使用。重新初始化一個變數並改變其型別將導致錯誤。

public class ForLoop {
  public static void main(String[] args) {
    int x = 2;
    for (long y = 0, z = 4; x < 10 && y < 10; x++, y++) {
      System.out.println("y: " + y);
    }

    System.out.println("x : " + x);
  }
}

輸出:

y: 0 
y: 1 
y: 2 
y: 3 
y: 4 
y: 5 
y: 6 
y: 7 
x : 10