天天看點

以線及面--進入二維數組的世界 | 帶你學《Java面向對象程式設計》之十六

上一篇:又見引用--數組元素的奇妙之旅 |帶你學《Java面向對象程式設計》之十五

【本節目标】

通過閱讀本節内容,你将拓展思維,以線及面,初步了解到資料的魅力,并學會二維數組的定義與初始化相關方法。

二維數組

在之前所定義的數組裡面會發現隻有一個“[]”,是以這個時候的數組就好像一行資料一樣,可以利用下标進行行資料的通路。

  • 傳統的數組就好比一行資料,如果要想找到一個資料隻需要确定一個下标即可;

表一 傳統數組

以線及面--進入二維數組的世界 | 帶你學《Java面向對象程式設計》之十六
  • 如果說現在需要一個多行多列的結構(表),則就需要通過兩個下标才可以描述出一個資料,行下标與列下标共同定義才可以找到,是以這樣的數組形式就稱為二維數組。

表二 二維數組

以線及面--進入二維數組的世界 | 帶你學《Java面向對象程式設計》之十六

對于二維數組可以使用的定義文法如下:

  • 數組的動态初始化
    • 資料類型 數組名稱 [][] = new 資料類型 行個數
  • 數組的靜态初始化
    • 資料類型 數組名稱 [][] =new 資料類型 [][] { {資料,資料,……},{資料,資料,……},{資料,資料,……},……}

範例:定義二維數組

public class ArrayDemo {
     public static void main (String args[ ]) {
         int data [] []= new int [] []{{1,2,3,4,5},{1,2,3},{5,6,7,8}} ;
     }
}           

表三 表示程式結果

以線及面--進入二維數組的世界 | 帶你學《Java面向對象程式設計》之十六

既然二維數組的每一行都屬于一個數組,那麼這種情況下就可以通過每一行的數組求出數組長度。

public class ArrayDemo {
   public static void main (String args[ ]) {
      int data [] []= new int [] []{{1,2,3,4,5},{1,2,3},{5,6,7,8}} ;
      for (int x = 0 ; x < data.length ; x ++ ){
         for(int y = 0 ;y <data[x].length ; y ++){
        System.out.println(“data[“+x+”][“+y+”] = ”+ data[x][y]) ;
         }
         System.out.println() ;    //換行
      }
   }
}           
以線及面--進入二維數組的世界 | 帶你學《Java面向對象程式設計》之十六

圖一 執行結果一

如果這時要求使用foreach來進行輸出呢?

範例:使用foreach輸出二維數組

public class ArrayDemo {
     public static void main (String args[ ]) {
         int data [] []= new int [] []{{1,2,3,4,5},{1,2,3},{5,6,7,8}} ;
         for (int temp [] : data) {
            for(int num : temp) {
               Sysem.out.println(num + “、”)
             }
             System.out.println() ;    //換行
         }
    }
}           
以線及面--進入二維數組的世界 | 帶你學《Java面向對象程式設計》之十六

圖二 執行結果二

通過foreach的輸出格式可以清楚地觀察到,二維數組就是數組的嵌套使用。随着尅發技術的發展,如果要進行一些應用層的程式開發,那麼很少會涉及到二維數組,更不用說更進階的多元數組了。

想學習更多的Java的課程嗎?從小白到大神,從入門到精通,更多精彩不容錯過!免費為您提供更多的學習資源。

本内容視訊來源于

阿裡雲大學 下一篇:熟練運用數組,看這篇就夠了 | 帶你學《Java面向對象程式設計》之十七 更多Java面向對象程式設計文章檢視此處