Java里采用“數組的數組"定義一個多維數組,一個二維數組由多個一維數組構成,例如:
//1.1
int[][] a = new int [3][4];
實驗結果:
數組未初始化,元素值默認為0
代碼1.1中a數組就是一個由3個長度為4的一維數組構成。
但這個數組的每個一維數組長度都固定下來了,有可能會造成資源空間浪費,所以我們可以采用如下方法定義一個二維數組:
//1.2
//int[][] a = new int [m][n]; //m的值必須指定,n的值可以忽略
int[][] a = new int [3][]; //先創建3個一維數組,但還沒有指定它們的長度,也沒有為它們分配內存空間
a[0]=new int [6]; //長度為6的一維數組並分配內存空間
a[1]=new int [12]; //長度為12的一維數組並分配內存空間
a[2]=new int [8]; //長度為8的一維數組並分配內存空間
實驗結果:

代碼1.2中m的值,是指在創建二維數組時,自己需要多少個一維數組,即數組的行數。
代碼1.2中n的值,是指在創建二維數組時,如果需要創建固定長度的一維數組,就需要指定n的值,如果需要創建不同長度的一維數組,就可忽略n的值。
//1.3
int a[][]= {{1}, {1,1}, {1,2,1}, {1,3,3,1}, {1,4,6,4,1}, };
也可以用代碼1.3的方法,由若干個長度不同的一維數組創建並初始化一個二維數組。
//實例1 輸出楊輝三角形的前5行
1 public class Example { 2 3 public static void main(String[] args) { 4 int a[][]= {{1}, 5 {1,1}, 6 {1,2,1}, 7 {1,3,3,1}, 8 {1,4,6,4,1}, 9 }; 10 for(int i=0; i<5; i++) { 11 for(int j=0; j<a[i].length; j++) { 12 System.out.printf("%4d", a[i][j]); 13 } 14 System.out.printf("%n"); 15 } 16 } 17 18 }
實驗結果:


