Java 多維陣列的建立
阿新 • • 發佈:2020-11-21
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 }
實驗結果: