Java 菜鸟教程

Java 流程控制

Java 数组

Java 面向对象(I)

Java 面向对象(II)

Java 面向对象(III)

Java 异常处理

Java 列表(List)

Java Queue(队列)

Java Map集合

Java Set集合

Java 输入输出(I/O)

Java Reader/Writer

Java 其他主题

Java for循环

在本教程中,我们将借助示例学习如何在Java中使用for循环,并且还将学习for循环在计算机编程中的工作方式。

在计算机编程中,循环用于重复特定的代码块,直到满足特定条件(测试表达式为false)为止。例如,

想象一下,我们需要在屏幕上打印一个句子50次。好吧,我们可以通过使用print语句50次(不使用循环)来做到这一点。您需要打印一百万次句子怎么样?这时您需要使用循环。使用循环,我们可以只编写一次print语句,然后运行任意次数。

这只是一个简单的示例,显示了循环在计算机编程中的重要性。

Java for循环

Java 中for循环的语法是:

for (initialization; testExpression; update)
{
    // 循环体内的代码
}

for循环的工作

  1. 初始化(initialization)表达式只执行一次。

  2. 然后,评估测试表达式(testExpression)。在这里,测试表达式(testExpression)是一个布尔表达式。

  3. 如果测试表达式(testExpression)的计算结果为true,则执行for循环体内的代码。

  4. 然后执行更新表达式(update)。

  5. 再次,评估测试表达式(initialization)。

  6. 如果测试表达式为true,则执行for循环体内的代码,并继续执行更新表达式(update)。

  7.             这个过程一直进行到测试表达式(testExpression)被评估为false时为止。

  8. 如果测试表达式(testExpression)的计算结果为false,则for循环终止。

for循环流程图

Java for Loop流程图
for循环的工作流程图

示例1:for循环

//程序打印一个句子十次
class Loop {
    public static void main(String[] args) {
      
        for (int i = 1; i <= 10; ++i) {
            System.out.println("Line " + i);
        }
    }
}

输出

Line 1
Line 2
Line 3
Line 4
Line 5
Line 6
Line 7
Line 8
Line 9
Line 10

在上面的示例中,我们有

  • 初始化表达式:int i = 1

  • 测试表达式:i <= 10

  • 更新表达式:++ i

在这里,i最初的值是1。因此,测试表达式第一次求值为true。所以,将执行打印语句。现在将评估更新表达式。

每次评估更新表达式时,i的值都会增加1。再次,评估测试表达式。并且,重复相同的过程。

该过程一直持续到i为11。当i为11时,测试表达式(i <= 10)为false,for循环终止。

要了解有关测试表达式及其评估方式的更多信息,请访问关系运算符逻辑运算符

示例2:for循环

//程序查找从1到1000的自然数之和。
class Number {
    public static void main(String[] args) {
      
        int sum = 0;
	   
        for (int i = 1; i <= 1000; ++i) {
            sum += i;     //等同于 sum = sum + i
        }
	   
        System.out.println("Sum = " + sum);
    }
}

输出

Sum = 500500

在这里,我们有一个名为sum的变量。其初始值为0。在for循环内部,我们初始化了一个名为i的变量的值为1。

在for循环的每次迭代中,

  • 为sum变量分配值:sum + i

  • i的值增加1

循环一直进行到i的值大于1000为止。为了获得更好的可视化效果,

1 重复: i = 1 同时 sum = 0+1 = 1
2 重复: i = 2 同时 sum = 1+2 = 3
3 重复: i = 3 同时 sum = 3+3 = 6
4 重复: i = 4 同时 sum = 6+4 = 10
... .. ...

999 重复: i = 999 同时 sum = 498501 + 999 = 499500
1000 重复: i = 1000 同时 sum = 499500 + 1000 = 500500

无限循环

在使用循环时,我们应始终小心。这是因为如果我们错误地将测试表达式设置为从不为false时,则for循环将永远运行。

这称为无限循环。例如,

//无限循环
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会无数次打印(至少在理论上是这样)。

for ( ; ; ) {

}

Java for-each循环(遍历循环)

在Java中,for循环的另一种语法可用于Java数组Java集合(称为遍历循环)。例如,

for (int a : array) {
    System.out.println(a);
}

要了解更多信息,请访问:Java 遍历循环