iT邦幫忙

2024 iThome 鐵人賽

DAY 12
0

二維陣列相較於上一篇的一維陣列,是一種由多個一維陣列組成的複合結構。相較於一維陣列被常運用處理簡單的資料,二維陣列則可以輕鬆處理更為複雜且多維的資料。

二維陣列的宣告

二維陣列的宣告方式跟一維陣列的宣告方式很相似,微妙的差異在於,當給二維陣列配置記憶體時,必須明確指定陣列列的個數,而行的數量則可以暫時留空,待需要時再靈活添加元素。
當在二維陣列中,每一列的元素數量都一致時,這種類型的陣列被稱為『對稱型陣列』。
舉例說明:

『對稱型陣列』

利用二維陣列,計算出魚塘三種魚的個數以及魚塘魚的總數,可以這樣撰寫程式碼:

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);
	}
}

執行後結果:
https://ithelp.ithome.com.tw/upload/images/20240920/20168805hVXSXCfzHB.png

『非對稱型陣列』

當在二維陣列中,每一列的元素數量都不一致時,這種類型的陣列被稱為『非對稱型陣列』。
舉例說明:
利用二維陣列,計算出衣帽間兩種顏色服裝的件數以及衣帽間服裝的總數,可以這樣撰寫程式碼:

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);
}

執行後結果:
https://ithelp.ithome.com.tw/upload/images/20240920/20168805g87dSEJuAp.png

以上是對二維陣列的簡單的介紹,並附上簡單的範例。

Java的二維陣列就到此處介紹完畢

下一篇介紹Java的多維陣列


上一篇
# Day11 Java的一維陣列
下一篇
# Day13 Java的多維陣列
系列文
當Java遇見Android,30天學習指南30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言