此Java教程是针对JDK 8编写的。本页面描述的示例和实践不利用后续版本中引入的改进,并可能使用不再可用的技术。
有关Java SE 9及后续版本中更新的语言功能的摘要,请参阅Java语言变化。
有关所有JDK版本的新功能、增强功能以及已删除或不推荐选项的信息,请参阅JDK发行说明。
for
语句提供了一种迭代一系列值的简洁方式。程序员通常将其称为“for循环”,因为它会重复循环,直到满足特定条件为止。 for
语句的一般形式可以表示如下:
for (初始化; 终止条件; 增量) { 语句 }
在使用这个版本的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
循环的三个表达式是可选的;可以创建一个无限循环,如下所示:
// 无限循环 for ( ; ; ) { // 你的代码写在这里 }
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
语句,而不是一般形式的循环。