Java 简明教程

Java - for Loop

Java for Loop

for 循环是一种重复控制结构,允许您高效地编写需要执行特定次数的循环。

当你了解任务重复多少次时,for 循环非常有用。就像 while loopfor 循环也是输入控制循环,其中给定的条件先执行。

Syntax of for Loop

for 循环的语法为:

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

Parts of Java For Loop

在 Java 中,for 循环使用三部分构造(实现)。以下是 Java 中 for 循环的部分:

  1. Initialization - 包含循环计数器的初始化语句 (s)。

  2. Boolean expression - 包含要测试的条件。

  3. Body - 包含将迭代到给定的布尔表达式为真的语句,用于更新循环计数器。

Execution Process of a for Loop

以下是 for 循环中的控制流程:

  1. 首先且只会执行 initialization 步骤一次。通过此步骤,你可以声明和初始化任何 loop control 变量,并且此步骤以分号 (;) 结尾。

  2. 接下来,计算 Boolean expression。如果为真,则执行循环体。如果为假,则不会执行循环体,并且控制跳转到 for 循环之后的下一条语句。

  3. 在执行 for 循环的 body 之后,控制会跳回到更新语句。此语句允许您更新任何循环控制变量。此语句可以留空,在末尾加分号。

  4. 现在再次计算布尔表达式。如果为真,则循环执行并重复此过程(循环体,然后更新步骤,然后布尔表达式)。在布尔表达式为假之后,for 循环终止。

Flow Diagram

下图显示了 Java 中 for 循环的流程图(执行过程):

java for loop

Java for Loop Examples

Example 1: Printing Numbers in a Range Using for Loop

在这个示例中,我们将展示使用 for 循环打印从 10 到 19 开始的数字。这里我们在 for 循环的初始化块中将 int variable x 初始化为值 10。然后在表达式块中,我们检查 x 是否小于 20,最后在更新块中,我们将 x 增加 1。在 for 循环体内,我们将打印 x 的值。for 循环将一直运行,直到 x 变成 20。x 为 20 后,循环将停止执行并且程序退出。

public class Test {

   public static void main(String args[]) {

      for(int x = 10; x < 20; x = x + 1) {
         System.out.print("value of x : " + x );
         System.out.print("\n");
      }
   }
}
value of x : 10
value of x : 11
value of x : 12
value of x : 13
value of x : 14
value of x : 15
value of x : 16
value of x : 17
value of x : 18
value of x : 19

Example 2: Printing Array Elements Using for Loop

在这个示例中,我们将展示使用 for 循环打印 array 的内容。这里我们创建了一个整数数组作为 numbers,并对其初始化为一些值。我们创建了一个名为 index 的变量来表示 for 循环内的数组的索引,将它与数组大小进行比较并将其增加 1。在 for 循环体内,我们使用索引符号打印数组的元素。index 变成与数组大小相同时,for 循环退出并且程序退出。

public class Test {

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

      for(int index = 0; index < numbers.length; index++) {
         System.out.print("value of item : " + numbers[index] );
         System.out.print("\n");
      }
   }
}
value of item : 10
value of item : 20
value of item : 30
value of item : 40
value of item : 50

Java Infinite for Loop

无限循环永不结束,除非您通过按 CTRL + C 手动停止。要实现无限 for 循环,可以使用始终为真的条件或直接使用 true 作为条件。

Example: Implementing Infinite for Loop

在此示例中,我们展示了使用 for 循环的无限循环。它将继续打印数字,直到您按 Ctrl+c 终止程序。

public class Test {

   public static void main(String args[]) {
      int x = 10;

      for( ;; ) {
         System.out.print("value of x : " + x );
         x++;
         System.out.print("\n");
      }
   }
}
value of item : 10
value of item : 11
value of item : 12
value of item : 13
value of item : 14
...
ctrl+c

Nested for Loop in Java

嵌套 for 循环是一个包含另一个 for 循环在其中的 for 循环。

Example: Print Tables from 1 to 10 Using Nested for Loop

在这个例子中,我们打印了从 1 到 10 的数字表格。

public class Main {
  public static void main(String[] args) {
    // Implementing nested for loop
    // Initializing loop counters
    int num = 1;
    int i = 1;

    // outer for loop
    for (num = 1; num <= 10; num++) {
      //inner for loop
      System.out.print("Table of " + num + " is : ");
      for (i = 1; i <= 10; i++) {
        // printing table
        System.out.print(num * i + " ");
      }
      // printing a new line
      System.out.println();
    }
  }
}
Table of 1 is : 1 2 3 4 5 6 7 8 9 10
Table of 2 is : 2 4 6 8 10 12 14 16 18 20
Table of 3 is : 3 6 9 12 15 18 21 24 27 30
Table of 4 is : 4 8 12 16 20 24 28 32 36 40
Table of 5 is : 5 10 15 20 25 30 35 40 45 50
Table of 6 is : 6 12 18 24 30 36 42 48 54 60
Table of 7 is : 7 14 21 28 35 42 49 56 63 70
Table of 8 is : 8 16 24 32 40 48 56 64 72 80
Table of 9 is : 9 18 27 36 45 54 63 72 81 90
Table of 10 is : 10 20 30 40 50 60 70 80 90 100