天天看點

初識“資料巨輪”:數組 | 帶你學《Java面向對象程式設計》之十四

上一篇:六組案例一舉拿下Java實體類 | 帶你學《Java面向對象程式設計》之十三

【本節目标】

通過閱讀本節内容,你将接觸到Java中常用的一類資料:數組,并初步掌握其多種定義及初始化方法,通過for循環實作對簡單數組的各種運用。

所有的項目開發之中都一定會存在有數組的使用,但是本次所講解的隻是數組的基本概念,而基本形式的數組出現的幾率會有,但是不高,并且也不會涉及到過多複雜的操作,這隻是針對于自己編寫的程式代碼而言。

數組的基本概念

如果說現在要定義100個整型變量,那麼按照傳統的做法,現在的實作如下:

int i1,i2,i3……i100;

這種方式的确是可以進行定義,但是如果說着100個變量屬于關聯的一組變量,則按照此種模式定義出來的變量就不适合于程式維護了(沒有任何的參考規律),是以在程式開發之中考慮到一組變量的整體維護,專門提供有數組的概念。數組的本質在于:一組相關變量的集合,但是需要注意的一點是:在Java中将數組定義為引用資料類型,是以數組的使用一定要牽扯到記憶體配置設定,那麼首先就一定可以想到使用關鍵字new來處理。數組的定義格式:

  • 數組的動态初始化,初始化之後數組每一個元素的儲存内容為其對應資料類型的預設值;
    • 聲明并初始化數組:
      • 資料類型 數組名稱 [] = new 資料類型 [長度];
      • 資料類型 [] 數組名稱= new 資料類型 [長度];
  • 數組的靜态初始化:在數組定義的時候就為其設定好了裡面的内容;
    • 簡化格式:資料類型 數組名稱 [] ={資料1,資料2,資料3,…};
    • 完整格式:資料類型 數組名稱 [] = new 資料類型 [] {資料1,資料2,資料3,…};

當建立了一個數組之後就可以按照如下的方式進行使用:

  • 數組裡面可以通過腳标進行每一個元素的通路,腳标從0開始定義,是以可以使用的腳标範圍:“0~數組長度-1”,同時一定要注意,如果使用的時候超過了數組腳标範圍則會出現

    “ArrayIndexOutOfBoundsException”(數組越界)異常。

  • 使用數組是為了其可以進行友善的變量管理,是以在進行數組操作的時候往往會利用for循環來完成;
  • 對于數組的長度也可以使用“數組名稱.length”屬性進行獲得。

範例:定義數組

public class ArrayDemo {
   public static void main(String args[]) {
   //使用數組的動态初始化實作了數組的定義
       int data [] = new int [3] ;
       System.out.println(data[0]) ;
       System.out.println(data[1]) ;
       System.out.println(data[2]) ;
   }
}           
初識“資料巨輪”:數組 | 帶你學《Java面向對象程式設計》之十四

圖一 執行結果一

修改

System.out.println(data[2]) ;           

變為

System.out.println(data[3]) ;           

則會出現:數組越界。

初識“資料巨輪”:數組 | 帶你學《Java面向對象程式設計》之十四

圖二 執行結果二

利用for循環:

public class ArrayDemo {
    public static void main(String args[]) {
   //使用數組的動态初始化實作了數組的定義
       int data [] = new int [3] ;
       for(int x = 0 ; x < 3 ;x ++){
       System.out.println(data[x]) ;
       }
    }
}           
初識“資料巨輪”:數組 | 帶你學《Java面向對象程式設計》之十四

圖三 執行結果三

利用“數組名稱.length”屬性獲得數組長度:

public class ArrayDemo {
    public static void main(String args[]) {
   //使用數組的動态初始化實作了數組的定義
        int data [] = new int [3] ;
        System.out.println(data.length) ;
        for(int x = 0 ; x < 3 ;x ++){
           System.out.println(data[x]) ;
        }
    }
}           
初識“資料巨輪”:數組 | 帶你學《Java面向對象程式設計》之十四

圖四 執行結果四

是以:

public class ArrayDemo {
   public static void main(String args[]) {
   //使用數組的動态初始化實作了數組的定義
       int data [] = new int [3] ;
       for(int x = 0 ; x < data.length ;x ++){
           System.out.println(data[x]) ;
       }
    }
}           
初識“資料巨輪”:數組 | 帶你學《Java面向對象程式設計》之十四

圖五 執行結果五

指派:

public class ArrayDemo {
    public static void main(String args[]) {
   //使用數組的動态初始化實作了數組的定義
        int data [] = new int [3] ;
        data [0] = 11 ;    //為數組設定内容
        data [1] = 23 ;    //為數組設定内容
        data [2] = 56 ;    //為數組設定内容
        for(int x = 0 ; x < data.length ;x ++){
           System.out.println(data[x]) ;
        }
    }
}           
初識“資料巨輪”:數組 | 帶你學《Java面向對象程式設計》之十四

圖六 執行結果六

在以後進行項目的開發過程之中,見到最多的數組使用形式:進行數組的循環處理。

數組本身分為動态初始化與靜态初始化,之前所講的是動态初始化,動态初始化之後會發現數組之中的每一個元素的内容都是其對應資料類型的預設值,随後可以通過下标為數組進行内容的設定,如果現在不希望這麼複雜,而是希望數組定義的時候就已經可以提供内容,則可以采用靜态初始化的方式完成。

範例:使用靜态初始化定義數組

public class ArrayDemo {
    public static void main(String args[]) {
   //使用數組的靜态初始化實作了數組的定義
        int data [] = new int [] {11,23,56} ;
        for(int x = 0 ; x < data.length ;x ++){
            System.out.println(data[x]) ;
        }
    }
}           
初識“資料巨輪”:數組 | 帶你學《Java面向對象程式設計》之十四

圖七 執行結果七

對于數組的操作而言,基本上都是拿到資料後循環控制。

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

本内容視訊來源于

阿裡雲大學 又見引用--數組元素的奇妙之旅 | 帶你學《Java面向對象程式設計》之十五 更多Java面向對象程式設計文章檢視此處