J2SE 5.0 新增foreach的语法,它可以应用于数组的循序存取上,其语法如下:
for(type element : array) { System.out.println(element).... }
例如传统上循序存取一个数组的方式如下:
int[] arr = {1, 2, 3, 4, 5}; for(int i = 0; i < arr.length; i++) System.out.println(arr[i]);
在J2SE 5.0中可以这么写:
int[] arr = {1, 2, 3, 4, 5}; for(int element : arr) System.out.println(element);
注意,element的宣告必须在for()之中,例如以下就无法通过编译:
int[] arr = {1, 2, 3, 4, 5}; int element = 0; for(element : arr) System.out.println(element);
如果是对象的话,作法也是类似,例如存取字符串数组的话,可以如下:
String[] names = {"caterpillar", "momor", "bush"}; for(String name : names) System.out.println(name);
那么二维数组呢?基本上您要是了解数组本身就是个对象,您自然就会知道如何存取,举个例子:
int[][] arr = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}; for(int[] row : arr) for(int element : row) System.out.println(element);
依此类推,您可以自行推出三维以上的数组要如何使用foreach的方式来存取。