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