java多维数组的遍历输出
对于多维数组的输出有两种方法,foreach 或者 Array.toString(),Array.deeptoString();
以上输出结果为:[1, 2, 4, 5, 7, 6, 7]
1245767
[[I@1fc4bec, [I@dc8569, [I@1bab50a]
[[1, 2, 4, 5, 7, 6, 7], [1, 3, 2, 1, 2, 3], [1, 3, 5, 6, 7, 8]]
[[[9, 12, 2, 4, 5, 5], [9, 3, 2, 1, 2, 3], [9, 3, 5, 6, 7, 8]], [[1, 2, 4, 5, 7, 6, 7], [1, 3, 2, 1, 2, 3], [1, 3, 5, 6, 7, 8]]]
public class ArrayTest1 { public static void main(String[] args) { int[] a = { 1, 2, 4, 5, 7, 6, 7 }; System.out.println(Arrays.toString(a)); for (int i : a) { System.out.print(i); } System.out.println(""); int[][] b = { a, { 1, 3, 2, 1, 2, 3 }, { 1, 3, 5, 6, 7, 8 } }; System.out.println(Arrays.toString(b)); System.out.println(Arrays.deepToString(b)); System.out.println(""); for (int[] j : b) { for (int i : j) { } } int[][][] c = { { { 9, 12, 2, 4, 5, 5 }, { 9, 3, 2, 1, 2, 3 }, { 9, 3, 5, 6, 7, 8 } }, b }; System.out.println(Arrays.deepToString(c)); System.out.println(""); for (int[][] i : c) { for (int[] j : i) { for (int k : j) { System.out.print(k); } } } } }
以上输出结果为:[1, 2, 4, 5, 7, 6, 7]
1245767
[[I@1fc4bec, [I@dc8569, [I@1bab50a]
[[1, 2, 4, 5, 7, 6, 7], [1, 3, 2, 1, 2, 3], [1, 3, 5, 6, 7, 8]]
[[[9, 12, 2, 4, 5, 5], [9, 3, 2, 1, 2, 3], [9, 3, 5, 6, 7, 8]], [[1, 2, 4, 5, 7, 6, 7], [1, 3, 2, 1, 2, 3], [1, 3, 5, 6, 7, 8]]]
91224559321239356781245767132123135678
首先知道二维数组可以理解为一维数组套着一维数组 例如:
int[] a = { 1, 2, 4, 5, 7, 6, 7 };
int[][] b = { a, { 1, 3, 2, 1, 2, 3 }, { 1, 3, 5, 6, 7, 8 } };就是b[][]当中套着a[],a[]当中套着元素
可以看出,首先是在for(variable:collection)statement 变量得到的值 实为collection 当中遍历的 单个元素(或为地址 如:int[] 得到的就是地址因为遍历出来的是int [] 类型的变量 还是要分配地址去存元素。所以地址指的是int [] 的首元素)
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。