二維陣列相較於上一篇的一維陣列,是一種由多個一維陣列組成的複合結構。相較於一維陣列被常運用處理簡單的資料,二維陣列則可以輕鬆處理更為複雜且多維的資料。
二維陣列的宣告方式跟一維陣列的宣告方式很相似,微妙的差異在於,當給二維陣列配置記憶體時,必須明確指定陣列列的個數,而行的數量則可以暫時留空,待需要時再靈活添加元素。
當在二維陣列中,每一列的元素數量都一致時,這種類型的陣列被稱為『對稱型陣列』。
舉例說明:
利用二維陣列,計算出魚塘三種魚的個數以及魚塘魚的總數,可以這樣撰寫程式碼:
public static void main(String[] args) {
int a = 0 ;
int b = 0 ;
int c = 0 ;
int sum = 0;
int fish [] [] = {{1,3,5,7},{2,4,6,8},{11,14,15,13}};
for (int i = 0;i<fish.length;i++){
for (int j = 0;j<fish[i].length;j++){
sum += fish [i][j];
if (i == 0) {
a += fish[i][j];
} else if (i == 1) {
b += fish[i][j];
} else if (i == 2) {
c += fish[i][j];
}
}
}
System.out.println("黃魚的個數: " + a);
System.out.println("草魚的個數: " + b);
System.out.println("鯽魚的個數: " + c);
System.out.println("魚塘中的魚總數: " + sum);
}
}
執行後結果:
當在二維陣列中,每一列的元素數量都不一致時,這種類型的陣列被稱為『非對稱型陣列』。
舉例說明:
利用二維陣列,計算出衣帽間兩種顏色服裝的件數以及衣帽間服裝的總數,可以這樣撰寫程式碼:
public static void main(String[] args) {
int a = 0 ;
int b = 0 ;
int sum = 0;
int cloth [] [] = {{11,14,15,13},{23,27,29}};
for (int i = 0;i<cloth.length;i++){
for (int j = 0;j<cloth[i].length;j++){
sum += cloth [i][j];
if (i == 0) {
a += cloth[i][j];
} else if (i == 1) {
b += cloth[i][j];
}
}
}
System.out.println("黑色服裝的數量: " + a);
System.out.println("灰色服裝的數量: " + b);
System.out.println("衣帽間服裝總數: " + sum);
}
執行後結果:
以上是對二維陣列的簡單的介紹,並附上簡單的範例。