Java for 循环

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

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

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


Java for 循环

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

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

这里,

  1. initialExpression 初始化和/或声明 变量 并仅执行一次。
  2. condition 被计算。如果 conditiontrue,则执行 for 循环的主体。
  3. updateExpression 更新 initialExpression 的值。
  4. condition 再次被计算。该过程一直持续到 conditionfalse

要了解有关条件的更多信息,请访问 Java 关系运算符逻辑运算符


Working of for loop in Java with flowchart
Java for 循环的流程图

示例 1:显示文本五次

// Program to print a text 5 times

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

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

输出

Java is fun
Java is fun
Java is fun
Java is fun
Java is fun

以下是此程序的运行方式。

迭代 变量 条件:i操作
第 1 次 i = 1
n = 5
true 打印 "Java is fun"。
i 增加到 2
第 2 次 i = 2
n = 5
true 打印 "Java is fun"。
i 增加到 3
第 3 次 i = 3
n = 5
true 打印 "Java is fun"。
i 增加到 4
第 4 次 i = 4
n = 5
true 打印 "Java is fun"。
i 增加到 5
第 5 个 i = 5
n = 5
true 打印 "Java is fun"。
i 增加到 6
第 6 个 i = 6
n = 5
false 循环终止。

示例 2:显示数字 1 到 5

// Program to print numbers from 1 to 5

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操作
第 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 个自然数的和

// Program to find the sum of natural numbers from 1 to 1000.

class Main {
  public static void main(String[] args) {
      
    int sum = 0;
    int n = 1000;

    // for loop
    for (int i = 1; i <= n; ++i) {
      // body inside for loop
      sum += i;     // sum = sum + i
    }
       
    System.out.println("Sum = " + sum);
  }
}

输出:

Sum = 500500

在此,sum 的初始值为 0。然后,for 循环从 i = 1 到 1000 迭代。在每次迭代中,i 被加到 sum 中,其值增加 1

i 变为 1001 时,测试条件为 false,此时 sum 将等于 0 + 1 + 2 + .... + 1000

上面计算自然数和的程序也可以这样写:

// Program to find the sum of natural numbers from 1 to 1000.

class Main {
  public static void main(String[] args) {
      
    int sum = 0;
    int n = 1000;

    // for loop
    for (int i = n; i >= 1; --i) {
      // body inside for loop
      sum += i;     // sum = sum + i
    }
       
    System.out.println("Sum = " + sum);
  }
}

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


Java for-each 循环

Java for 循环有一个替代语法,可以轻松地迭代 数组集合。例如:

// print array elements 

class Main {
  public static void main(String[] args) {
      
    // create an array
    int[] numbers = {3, 7, 5, -5};
    
    // iterating through the array 
    for (int number: numbers) {
       System.out.println(number);
    }
  }
}

输出

3
7
5
-5

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

在循环的第一次迭代中,number3,第二次迭代中 number7,依此类推。

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


Java 无限 for 循环

如果我们设置的测试表达式使其永远不会评估为 false,那么 for 循环将永远运行。这称为无限 for 循环。例如:

// Infinite for Loop

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 会被重复打印,直到内存耗尽。


另请阅读

在我们结束之前,让我们来测试一下您对 Java for 循环(带示例)的了解!您能解决以下挑战吗?

挑战

编写一个函数来计算前 n 个自然数的和。

  • 返回前 n 个自然数的和。
  • 例如,如果 n = 5,则预期输出为 15(即 1 + 2 + 3 + 4 + 5 = 15)。
你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战