格式:
for(元素类型 变量名 : Collection集合or数组) {
执行语句;
}
传统for和foreach的区别?
foreach循环必须有被遍历的目标,要么是Collection,要么是数组。
package cn.itcast.p6.foreach;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
public class ForeachDemo {
public static void main(String[] args) {
ArrayList<String> al = new ArrayList<String>();
al.add("abc1");
al.add("abc2");
al.add("abc3");
al.add("abc4");
al.add("abc5");
//for(Iterator<String> it = al.iterator(); it.hasNext(); ){
//System.out.println(it.next());
//Iterator里面有3个方法,比foreach多一个remove(),如果想在迭代中对元素进行操作,用迭代器
//}
for(String str : al){ //只能对集合中元素遍历
System.out.println(str);
}
//可以遍历map吗?
HashMap<String,String> hm = new HashMap<String,String>();
hm.put("zhangsan","beijing");
hm.put("lisi","beijing");
hm.put("wangwu","beijing");
//Iterator<String> it = hm.keySet().iterator();
//while(it.hasNext()){
//System.out.println(it.next());
//}
for(String key : hm.keySet()){
String value = hm.get(key);
System.out.println(key+":"+value);
}
int[] arr = {3,1,5};
//建议遍历数组时,使用传统for循环。因为可以对数组的角标进行操作。
for(int i : arr){
System.out.println("i="+i);
}
}
}
转载于:https://blog.51cto.com/pengya123/1786356