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和 数组进行迭代的形式。该形式有时被称为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
语句,而不是一般形式。