在本教程中,我们将借助示例学习如何在Java中使用for循环,并且还将学习for循环在计算机编程中的工作方式。
在计算机编程中,循环用于重复特定的代码块,直到满足特定条件(测试表达式为false)为止。例如,
想象一下,我们需要在屏幕上打印一个句子50次。好吧,我们可以通过使用print语句50次(不使用循环)来做到这一点。您需要打印一百万次句子怎么样?这时您需要使用循环。使用循环,我们可以只编写一次print语句,然后运行任意次数。
这只是一个简单的示例,显示了循环在计算机编程中的重要性。
Java 中for循环的语法是:
for (initialization; testExpression; update) { // 循环体内的代码 }
初始化(initialization)表达式只执行一次。
然后,评估测试表达式(testExpression)。在这里,测试表达式(testExpression)是一个布尔表达式。
如果测试表达式(testExpression)的计算结果为true,则执行for循环体内的代码。
然后执行更新表达式(update)。
再次,评估测试表达式(initialization)。
如果测试表达式为true,则执行for循环体内的代码,并继续执行更新表达式(update)。
这个过程一直进行到测试表达式(testExpression)被评估为false时为止。
如果测试表达式(testExpression)的计算结果为false,则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循环终止。
要了解有关测试表达式及其评估方式的更多信息,请访问关系运算符和逻辑运算符。
//程序查找从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循环的另一种语法可用于Java数组和Java集合(称为遍历循环)。例如,
for (int a : array) { System.out.println(a); }
要了解更多信息,请访问:Java 遍历循环