foreach语句是java5的新特征之一,在遍历数组、集合方面,foreach为开发人员提供了极大的方便。
foreach语句是for语句的特殊简化版本,但是foreach语句并不能完全取代for语句,然而,任何
的foreach语句都可以改写为for语句版本。
java中的foreach也是用for表示
具体语法分两种:
第一种-数组
for(type var : arr) {
//循环体
}
示例:
List<String> list = new ArrayList<String>();
for(String item : list){
System.out.println("循环元素:" + item);
}
第二种-非数组类可迭代对象
for(type var : coll) {
//循环体
}
示例:
Map<String, String> map = new HashMap<String, String>();
for(Entry<String, String> item : map.entrySet()){
System.out.println("循环元素 key:" + item.getKey() + " value:" + item.getValue());
}
具体示例:
int arr[] = {1,2,3};
//forecah写法
for (int i : arr) {
System.out.println(i);
}
//普通for循环写法
for(int x=0;x<arr.length;x++){
System.out.println(arr[x]);
}
//forecah 循环输出list
List<String> list = new ArrayList<String>();
list.add("1");
list.add("2");
list.add("3");
for (String a : list) {
System.out.println("a="+a);
}
//foreach循环输出object
Object s[] = list.toArray();
for (Object x : s) {
if(x == "3"){
break;
}
System.out.println(x);
}
//foreach输出二维数组
public void testArray2() {
int arr2[][] = {{4, 3}, {1, 2}};
System.out.println("----3----foreach输出二维数组测试");
for (int x[] : arr2) {
for (int e : x) {
System.out.println(e); //逐个输出数组元素的值
}
}
}