其语法如下:
for(type element: array)
{
System.out.PRintln(element);
}
例子其基本使用可以直接看代码:
代码中首先对比了两种for循环;之后实现了用增强for循环遍历二维数组;最后采用三种方式遍历了一个List集合。
importjava.util.ArrayList;importjava.util.Iterator;importjava.util.List;publicclassForeachTest
{publicstaticvoidmain(String[] args)
{int[] arr = {1, 2, 3, 4, 5};
System.out.println("----------旧方式遍历------------");//旧式方式for(inti=0; i<arr.length; i++)
{
System.out.println(arr[i]);
}
System.out.println("---------新方式遍历-------------");//新式写法,增强的for循环for(intelement:arr)
{
System.out.println(element);
}
System.out.println("---------遍历二维数组-------------");//遍历二维数组int[][] arr2 = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}} ;for(int[] row : arr2)
{for(intelement : row)
{
System.out.println(element);
}
}//以三种方式遍历集合ListList<String> list =newArrayList<String>();
list.add("a");
list.add("b");
list.add("c");
System.out.println("----------方式1-----------");//第一种方式,普通for循环for(inti = 0; i < list.size(); i++)
{
System.out.println(list.get(i));
}
System.out.println("----------方式2-----------");//第二种方式,使用迭代器for(Iterator<String> iter =list.iterator(); iter.hasNext();)
{
System.out.println(iter.next());
}
System.out.println("----------方式3-----------");//第三种方式,使用增强型的for循环for(String str: list)
{
System.out.println(str);
}
}
}
For-Each循环的缺点:丢掉了索引信息。
当遍历集合或数组时,如果需要访问集合或数组的下标,那么最好使用旧式的方式来实现循环或遍历,而不要使用增强的for循环,因为它丢失了下标信息。