原文出自 http://www.cnblogs.com/ggjucheng/archive/2012/12/16/2820842.html
英文出自 http://docs.oracle.com/javase/tutorial/java/nutsandbolts/for.html
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 and arrays,这个形式有时被称为for语句的theenhanced,可以用来让你的循环更加紧凑,易于阅读。为了说明这一点,考虑下面的阵列,它拥有数字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替代传统的for形式。