从JDK1.5开始,Java提供了一个更简单的循环:foreach循环,这种循环遍历数组和集合更加简洁。
使用foreach循环遍历数组元素和集合元素时,无需获得数组和集合的长度,也无需根据索引来访问数组元素和集合元素,foreach循环自动遍历数组和集合的每一个元素。
foreach循环的语法格式:
for(type variableName: array | collection){
//variableName自动迭代访问每个元素
}
说明:
type是数组元素或者集合元素的类型,variableName是一个参数名;
[b]collection是实现了Iterable接口的集合类;[/b]
foreach循环将自动将数组元素、集合元素依次赋给该变量。
详细语法见:[url]http://docs.oracle.com/javase/specs/index.html[/url]
注意:使用foreach循环迭代数组元素或集合元素时,不要对foreach的循环变量进行赋值。因为foreach的循环变量是一个临时变量,系统会把数组元素依次赋给这个临时变量,而这个临时变量并不是数组元素,它只是保存了数组元素的值。
结果:
使用foreach循环遍历数组元素和集合元素时,无需获得数组和集合的长度,也无需根据索引来访问数组元素和集合元素,foreach循环自动遍历数组和集合的每一个元素。
foreach循环的语法格式:
for(type variableName: array | collection){
//variableName自动迭代访问每个元素
}
说明:
type是数组元素或者集合元素的类型,variableName是一个参数名;
[b]collection是实现了Iterable接口的集合类;[/b]
foreach循环将自动将数组元素、集合元素依次赋给该变量。
详细语法见:[url]http://docs.oracle.com/javase/specs/index.html[/url]
public class TestForEach {
public static void main(String[] args) {
int[] array_int = {1, 2, 3, 4, 5};
for(int i: array_int){
System.out.println(i);
}
}
}
注意:使用foreach循环迭代数组元素或集合元素时,不要对foreach的循环变量进行赋值。因为foreach的循环变量是一个临时变量,系统会把数组元素依次赋给这个临时变量,而这个临时变量并不是数组元素,它只是保存了数组元素的值。
public class TestForEach {
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] array_int = {1, 2, 3, 4, 5};
for(int i: array_int){
i = 8;
System.out.println(i);
}
System.out.println(array_int[0]);
}
}
结果:
8
8
8
8
8
1