Skip to content
On this page

7.4多维数组

多维数组可以看成以数组为元素的数组。可以有二维、三维、甚至更多维数组,但是实际开发中用的非常少。最多到二维数组(学习容器后,我们一般使用容器,二维数组用的都很少)。

【示例7-15】二维数组的声明

public class Test {
	public static void main(String[] args) {
		// Java中多维数组的声明和初始化应按从低维到高维的顺序进行
		int[][] a = new int[3][];
		a[0] = new int[2];
		a[1] = new int[4];
		a[2] = new int[3];
		// int a1[][]=new int[][4];//非法
	}
}

【示例7-16】二维数组的静态初始化

public class Test {
	public static void main(String[] args) {
		int[][] a = { { 1, 2, 3 }, { 3, 4 }, { 3, 5, 6, 7 } };
		System.out.println(a[2][3]);
	}
}

图7-10 示例7-16内存分配图.png

图7-10 示例7-16内存分配图

【示例7-17】二维数组的动态初始化

import java.util.Arrays;
public class Test {
	public static void main(String[] args) {
		int[][] a = new int[3][];
		// a[0] = {1,2,5}; //错误,没有声明类型就初始化
		a[0] = new int[] { 1, 2 };
		a[1] = new int[] { 2, 2 };
		a[2] = new int[] { 2, 2, 3, 4 };
		System.out.println(a[2][3]);
		System.out.println(Arrays.toString(a[0]));
		System.out.println(Arrays.toString(a[1]));
		System.out.println(Arrays.toString(a[2]));
	}
}

执行结果如图7-11所示:

图7-11 示例7-17运行效果图.png

图7-11 示例7-17运行效果图

【示例7-18】获取数组长度

//获取的二维数组第一维数组的长度。
System.out.println(a.length);
//获取第二维第一个数组长度。
System.out.println(a[0].length);