如圖,聲明一個數組,引用存在棧中,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(); } } } }