java 二维/三维/多维数组

如图,声明一个数组,引用存在栈中,new出来的对象存在堆中。

我把多维数组理解为数组中嵌套另一个数组。

 

 

下方代码为三维数组,如果是动态赋值,只需要声明多维数组的大小(new int[3][][]),需要,二维数组更简单。

package cn.test;

/**
 * 三维数组
 * @author Administrator
 *
 */
public class DemoArraysThred {

	public static void main(String arg[]) {

		/*三维数组*/
		int[][][] arr = new int[3][][];	
		arr[0] = new int[3][];
		
		arr[0][0] = new int[2];
		arr[0][0][0] = 1111;
		arr[0][0][1] = 1112;
		
		arr[0][1] = new int[2];
		arr[0][1][0] = 1121;
		arr[0][1][1] = 1122;
		
		arr[0][2] = new int[3];
		arr[0][2][0] = 1131;
		arr[0][2][1] = 1132;
		arr[0][2][2] = 1133;
		
		arr[1] = new int[3][];
		arr[1][0] = new int[2];
		arr[1][0][0] = 1211;
		arr[1][0][1] = 1212;
		
		arr[1][1] = new int[2];
		arr[1][1][0] = 1221;
		arr[1][1][1] = 1222;
		
		arr[1][2] = new int[2];
		arr[1][2][0] = 1231;
		arr[1][2][1] = 1232;
		
		arr[2] = new int[3][];
		arr[2][0] = new int[2];
		arr[2][0][0] = 1311;
		arr[2][0][1] = 1312;
		
		arr[2][1] = new int[2];
		arr[2][1][0] = 1321;
		arr[2][1][1] = 1322;
		
		arr[2][2] = new int[2];
		arr[2][2][0] = 1331;
		arr[2][2][1] = 1332;
		
		
		for (int[][] a2 : arr) {
			for (int[] a1 : a2) {
				for (int a: a1) {
					System.out.print(a + "\t");
				}
				System.out.println();
			}
		}
		
	}

}

  

posted @ 2019-10-02 00:15  flashman126  阅读(4824)  评论(0编辑  收藏  举报