Java for 循环

在计算机编程中,循环用于重复代码块。在本教程中,我们将通过示例学习如何在 Java 中使用 for 循环,我们还将了解在计算机编程中循环的工作原理。

在本教程中,我们将通过示例学习如何在 Java 中使用 for 循环,我们还将了解在计算机编程中循环的工作原理。

在计算机编程中,循环用于重复执行代码块。例如,如果您想将一条消息显示 100 次,那么您可以使用循环而不是输入 100 次相同的代码。

在 Java 中,存在三种类型的循环。

本教程重点介绍 for 循环。您将在接下来的教程中了解其他类型的循环。

Java for 循环

Java for 循环用于运行一段代码一定次数。 for 循环的语法是:

for (initialExpression; testExpression; updateExpression) {
    // body of the loop
}

说明

  1. initialExpression 初始化声明的变量,只执行一次。
  2. testExpression 为测试条件,如果结果为 true ,则执行 for 循环体。
  3. updateExpression 用于每次执行循环后更新 initialExpression 中变量的值 。

要了解循环的测试条件,需要首先了解关系运算符和逻辑运算符的知识。

Java for 循环流程图

使用流程图在 Java 中处理 for 循环
在 Java 中使用 for 循环

示例 1:将文本显示五次

public class Main {
  public static void main(String[] args) {

    int n = 5;
    // for loop
    for (int i = 1; i <= n; ++i) {
      System.out.println("Java 很有趣");
    }
  }
}

输出

Java 很有趣
Java 很有趣
Java 很有趣
Java 很有趣
Java 很有趣

这是该程序的工作原理。

迭代 变量的值 条件:i <= n 执行
1 i = 1 n = 5 true 打印 “Java 很有趣”; i 增加到 2。
2 i = 2 n = 5 true 打印 “Java 很有趣”; i 增加到 3。
3 i = 3 n = 5 true 打印 “Java 很有趣”; i 增加到 4。
4 i = 4 n = 5 true 打印 “Java 很有趣”; i 增加到 5。
5 i = 5 n = 5 true 打印 “Java 很有趣”; i 增加到 6。
6 i = 6 n = 5 false 循环终止。

示例 2:显示 1 到 5 之间的数字

// 打印 1 到 5

public class Main {
  public static void main(String[] args) {

    int n = 5;
    // for loop
    for (int i = 1; i <= n; ++i) {
      System.out.println(i);
    }
  }
}

输出

1
2
3
4
5

这是该程序的工作原理。

迭代 变量的值 条件:i <= n 执行
1 i = 1 n = 5 true 打印 1; i 增加到 2。
2 i = 2 n = 5 true 打印 2; i 增加到 3。
3 i = 3 n = 5 true 打印 3; i 增加到 4。
4 i = 4 n = 5 true 打印 4; i 增加到 5。
5 i = 5 n = 5 true 打印 5; i 增加到 6。
6 i = 6 n = 5 false 循环终止。

示例 3:显示 n 个自然数的总和

// 计算 1 到 1000 的和

public class Main {
  public static void main(String[] args) {

    int sum = 0;
    int n = 1000;

    // for loop
    for (int i = 1; i <= n; ++i) {
      // 循环累加到 sum 变量上
      sum += i;     // sum = sum + i
    }

    System.out.println("1 + 2 + ... + 1000 = " + sum);
  }
}

输出

1 + 2 + ... + 1000 = 500500

这里定义了一个变量 sum 代表总和,其初始为 0。然后,for 循环中 i11000 循环迭代 。在每次迭代中,将 i 的值累加到 sum 上。

直到 i 变为 1001,测试条件为 false 退出循环。

上面的自然数相加程序也可以写成从 1000 递减到 1 相加:

// 计算 1 到 1000 的和

public class Main {
  public static void main(String[] args) {

    int sum = 0;
    int n = 1000;

    // for loop
    for (int i = n; i >= 1; --i) {
      // 循环累加到 sum 变量上
      sum += i;     // sum = sum + i
    }

    System.out.println("Sum = " + sum);
  }
}

该程序的输出与示例 3 相同。

Java for-each 循环

Java for-each 循环是一种语法糖,可以更轻松地遍历数组集合。例如,

// 打印数字元素

public class Main {
  public static void main(String[] args) {

    // 创建数组
    int[] numbers = {3, 7, 5, -5};

    // 迭代数组
    for (int number: numbers) {
       System.out.println(number);
    }
  }
}

输出

3
7
5
-5

在这里,我们使用了 for-each 循环来逐个打印 numbers 数组中的元素。

要了解更多信息,请访问Java for-each 循环

Java 无限循环

如果测试表达式的计算结果永远为 false ,那么 for 循环将永远运行,这称为无限循环。例如,

// 无限循环

public class Infinite {
  public static void main(String[] args) {

    int sum = 0;

    for (int i = 1; i <= 10; --i) {
      System.out.println("Hello");
    }
  }
}

这里,测试表达式 i <= 10 永远不会为 false,程序将一致打印 Hello,直到程序被意外终止。