for each循环语句不能自动的处理二维数组的每一个元素。它是按照行,也就是一维数组处理的。要访问二维数组的所有元素,需要使用两个嵌套的循环,语法如下所示:
for(type[] row:type [][] array){
for(type[] b:row)
// do something with b; 对元素进行操作,例如下面打印
System.out.print(b);
}
例子:
public
class
Test
...
{ @SuppressWarnings( " unchecked " ) public void test() ... { String [][] s1 = ... { ... { " 张三 " , " 语文 " , " 80 " } , ... { " 李四 " , " 语文 " , " 80 " } , ... { " 王五 " , " 语文 " , " 80 " } , ... { " 张三 " , " 数学 " , " 80 " } , ... { " 李四 " , " 数学 " , " 80 " } }; printArray(s1); } // 数组打印,二维数组的for each用法 public static void printArray(String[][] arr) ... { for (String []row:arr) ... { for (String str:row) ... { System.out.print(str + " " ); } System.out.println(); } System.out.println(" ====================== " ); } public static void main(String[] args) ... { new Test().test(); } }
结果如下:
张三 语文 80 李四 语文 80 王五 语文 80 张三 数学 80 李四 数学 80 ======================