for` 循环是一种重复控制结构,允许你有效地编写需要执行特定次数的循环。
当你知道一个任务需要重复多少次时,for
循环是非常有用的。就像 while
循环一样,for
循环也是一个入口控制循环,在进入循环体之前先执行给定的条件。
Java for 循环的语法
for(初始化; 布尔表达式; 更新) {
}
Java for 循环的部分
在 Java 中,for
循环由三个部分组成:
-
-
-
循环体 - 包含要迭代执行的语句,直到给定的布尔表达式为真,也用来更新循环计数器。
for 循环的执行过程
以下是 for
循环的控制流程:
-
首先执行初始化步骤,并且只执行一次。此步骤允许你声明并初始化任何循环控制变量,此步骤以分号结束。
-
接下来,评估布尔表达式。如果它是真的,则执行循环体。如果是假的,则不执行循环体,并且控制跳转到
for
循环后的下一条语句。
-
在
for
循环体执行后,控制跳回到更新语句。此语句允许你更新任何循环控制变量。这个语句可以为空,并以分号结尾。
-
然后再次评估布尔表达式。如果它是真的,循环执行并且这个过程重复(循环体,然后更新步骤,然后布尔表达式)。在布尔表达式变为假之后,
for
循环终止。
流程图
下图显示了 Java 中 for
循环的流程图(执行过程)。
Java for 循环示例
示例 1:使用 for 循环打印一个范围内的数字
在这个例子中,我们展示了如何使用 for
循环来打印从 10 到 19 的数字。我们在 for
循环的初始化块中初始化了一个 int
类型的变量 x
为 10。然后在表达式块中检查 x
是否小于 20,在更新块中我们将 x
增加 1。在 for
循环体内,我们打印 x
的值。for
循环将持续运行直到 x
变为 20。一旦 x
达到 20,循环将停止执行,程序退出。
public class Test {
public static void main(String args[]) {
for(int x = 10; x < 20; x = x + 1) {
System.out.print("value of x : " + x );
System.out.print("\n");
}
}
}
输出
value of x : 10
value of x : 11
value of x : 12
value of x : 13
value of x : 14
value of x : 15
value of x : 16
value of x : 17
value of x : 18
value of x : 19
示例 2:使用 for 循环打印数组元素
在这个例子中,我们展示了如何使用 for
循环来打印数组的内容。我们创建了一个名为 numbers
的整数数组,并初始化了一些值。我们在 for
循环中创建了一个名为 index
的变量来表示数组的索引,检查它是否小于数组的大小,并将其增加 1。在 for
循环体内,我们使用索引来打印数组的元素。一旦 index
与数组大小相等,for
循环退出,程序停止。
public class Test {
public static void main(String args[]) {
int [] numbers = {10, 20, 30, 40, 50};
for(int index = 0; index < numbers.length; index++) {
System.out.print("value of item : " + numbers[index] );
System.out.print("\n");
}
}
}
输出
value of item : 10
value of item : 20
value of item : 30
value of item : 40
value of item : 50
Java 中的无限 for 循环
无限循环除非手动按 CTRL + C 终止,否则永远不会结束。为了实现无限的 for
循环,可以使用总是为真的条件,或者直接使用 true
作为条件。
示例:实现无限 for 循环
在这个例子中,我们展示了如何使用 for
循环实现无限循环。它将一直打印数字,直到你按 ctrl+c 终止程序。
public class Test {
public static void main(String args[]) {
int x = 10;
for( ;; ) {
System.out.print("value of x : " + x );
x++;
System.out.print("\n");
}
}
}
输出
value of x : 10
value of x : 11
value of x : 12
value of x : 13
value of x : 14
...
ctrl+c
Java 中的嵌套 for 循环
嵌套 for
循环是在一个 for
循环内部包含另一个 for
循环。
示例:使用嵌套 for 循环打印 1 到 10 的乘法表
在这个例子中,我们打印从 1 到 10 的数字的乘法表。
public class Main {
public static void main(String[] args) {
int num = 1;
int i = 1;
for (num = 1; num <= 10; num++) {
System.out.print("Table of " + num + " is : ");
for (i = 1; i <= 10; i++) {
System.out.print(num * i + " ");
}
System.out.println();
}
}
}
输出
Table of 1 is : 1 2 3 4 5 6 7 8 9 10
Table of 2 is : 2 4 6 8 10 12 14 16 18 20
Table of 3 is : 3 6 9 12 15 18 21 24 27 30
Table of 4 is : 4 8 12 16 20 24 28 32 36 40
Table of 5 is : 5 10 15 20 25 30 35 40 45 50
Table of 6 is : 6 12 18 24 30 36 42 48 54 60
Table of 7 is : 7 14 21 28 35 42 49 56 63 70
Table of 8 is : 8 16 24 32 40 48 56 64 72 80
Table of 9 is : 9 18 27 36 45 54 63 72 81 90
Table of 10 is : 10 20 30 40 50 60 70 80 90 100