Java:增强for循环(foreach循环)
在 JDK 5.0 中添加了一个新的特性—— foreach 循环。它是一种更加简洁的 for 循环,也称为 增强for循环 。
public static void main(String [] args) {
ArrayList list = new ArrayList();//创建ArrayList集合
list.add(10086);//向该集合中添加元素
list.add("你好");
list.add('a');
list.add("bbbb");
for(Object obj : list) {//使用增强for循环遍历集合
System.out.println(obj);//取出并打印集合中的元素
}
}
使用 增强for循环 需要注意它的局限性:在遍历集合和数组时,只能访问集合中的元素,不能对其中的元素进行修改。
static String [] strs = {"aaa","bbb","ccc"};
public static void main(String[] args) {
//增强for循环
for(String str : strs) {
str = "ddd" ;
}
System.out.println("foreach循环修改后的数组:"+strs[0]+","+strs[1]+","+strs[2]);
//for循环遍历数组
for(int i=0;i<strs.length;i++) {
strs[i]="ddd";
}
System.out.println("for循环修改后的数组:"+strs[0]+","+strs[1]+","+strs[2]);
}
观察运行结果,从运行结果可以看出, 增强for循环 并不能修改数组中元素的值。
foreach循环修改后的数组:aaa,bbb,ccc
for循环修改后的数组:ddd,ddd,ddd
其原因是:其中str = "ddd"
语句只是将临时变量str
指向了一个新的字符串,这和数组中的元素没有一点关系。而在 普通for循环 中,是可以通过索引的方式来引用数组中的元素比将其值进行修改。
希望可以帮助大家!
Iterator迭代器