for 语句
for
语句提供了一种紧凑的方法来迭代一系列值。程序员通常将其称为“ for 循环”,因为它反复循环直到满足特定条件为止。 for
语句的一般形式可以表示为:
for (initialization; termination;
increment) {
statement(s)
}
使用此版本的for
语句时,请记住:
-
- initialization *表达式初始化循环;当循环开始时,它执行一次。
-
当* termination *表达式的值为
false
时,循环终止。 -
每次循环迭代后,都会调用* increment *表达式;对于该表达式,增加或减少值是完全可以接受的。
以下程序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进行迭代。该形式有时称为增强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
保存了数字数组中的当前值。该程序的输出与以前相同:
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
语句,而不是一般形式。