Java 教程是为 JDK 8 编写的。本页中描述的示例和实践未利用在后续版本中引入的改进。
for 语句提供了一种在一系列值上迭代的简洁方法。程序员经常将其称为 "for 循环",因为它的重复循环直到满足特定的条件。for 语句的一般形式可表示如下:
for (initialization; termination;
increment) {
statement(s)
}
使用此版本的 for 语句时,请记住:
false 时,循环终止。以下程序 ForDemo 使用 for 语句的一般形式将数字 1 至 10 打印到标准输出:
class ForDemo {
public static void main(String[] args){
for(int i=1; i<11; i++){
System.out.println("Count is: " + i);
}
}
}
这个程序的输出是:
Count is: 1 Count is: 2 Count is: 3 Count is: 4 Count is: 5 Count is: 6 Count is: 7 Count is: 8 Count is: 9 Count is: 10
注意代码如何在初始化表达式中声明一个变量。该变量的范围从其声明扩展到由 for 语句控制的块的末尾,因此它也可用于终止和增量表达式。如果控制 for 语句的变量不需要在循环外,则最好在初始化表达式中声明该变量。名称 i,j 和 k 通常用于控制 for 循环;在初始化表达式中声明它们会限制它们的使用寿命并减少错误。
for 循环的三个表达式是可选的;可以创建一个无限循环如下:
// infinite loop
for ( ; ; ) {
// your code goes here
}
for 语句还有另一种形式,用于迭代 Collections 和 arrays 这种形式有时被称为enhanced for (增强型 for)语句,可用于使循环更紧凑,易于阅读。为了演示,考虑下面的数组,它包含数字 1 到 10:
int[] numbers = {1,2,3,4,5,6,7,8,9,10};
以下程序 EnhancedForDemo 使用增强的 for 来遍历数组:
class EnhancedForDemo {
public static void main(String[] args){
int[] numbers =
{1,2,3,4,5,6,7,8,9,10};
for (int item : numbers) {
System.out.println("Count is: " + item);
}
}
}
在这个例子中,变量 item 保存 numbers 数组中的当前值。该程序的输出与之前的相同:
Count is: 1 Count is: 2 Count is: 3 Count is: 4 Count is: 5 Count is: 6 Count is: 7 Count is: 8 Count is: 9 Count is: 10
我们建议尽可能使用 for 语句,而不是一般形式。