在计算机编程中,循环用于重复特定的代码块,直到满足特定条件(测试表达式为false
)为止。 例如,
想象一下,我们需要在屏幕上打印一个句子 50 次。 好吧,我们可以通过使用print
语句 50 次(不使用循环)来做到这一点。 您需要打印一百万次句子怎么样? 您需要使用循环。 使用循环,我们可以只编写一次 print 语句,然后运行任意次。
这只是一个简单的示例,显示了循环在计算机编程中的重要性。
Java 中for
循环的语法为:
for (initialization; testExpression; update)
{
// codes inside for loop's body
}
initialization
表达式只求值一次。- 然后,求值
testExpression
表达。 在这里,测试表达式是一个布尔表达式。 - 如果将测试表达式求值为
true
,则将执行for
循环体内的 代码。 然后执行update
表达式。 再次求值测试表达式。 如果测试表达式为true
,则执行for
循环体内的代码,并执行更新表达式。 继续进行此过程,直到将测试表达式求值为false
为止。 - 如果将测试表达式求值为
false
,则for
循环终止。
for
循环的原理
// Program to print a sentence 10 times
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
循环终止。
要了解有关测试表达式及其求值方式的更多信息,请访问关系式和逻辑运算符。
// Program to find the sum of natural numbers from 1 to 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 为止。为了获得更好的可视化效果,
1st iteration: i = 1 and sum = 0+1 = 1
2nd iteration: i = 2 and sum = 1+2 = 3
3rd iteration: i = 3 and sum = 3+3 = 6
4th iteration: i = 4 and sum = 6+4 = 10
... .. ...
999th iteration: i = 999 and sum = 498501 + 999 = 499500
1000th iteration: i = 1000 and sum = 499500 + 1000 = 500500
在使用循环时,我们应始终小心。 这是因为,如果我们错误地设置测试表达式以使其永远不会是false
,则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
不会打印无数次(至少在理论上是这样)。
注意:for
语句中使用的初始化,更新和测试表达式是可选的。 这是无限for
循环的另一个示例。
for ( ; ; ) {
}
在 Java 中,有for
循环的另一种语法可用于 Java 数组和 Java 集合(称为for-each
循环)。 例如,
for (int a : array) {
System.out.println(a);
}
要了解更多信息,请访问: Java for-each
循环