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
语句,而不是一般形式。