Java數組一定要初始化才能使用嗎?


 

數組是大多數編程語言提供的一種復合結構,如果程序需要多個類型相同的變量時,就可以考慮定義一個數組。Java語言的數組變量是引用類型的變量,因此具有Java獨有的特性。

在正常的Java開發中,使用Java數組之前,我們都會對數組進行初始化,為數組中的元素分配內存空間、賦值等,但Java數組一定要初始化嗎?不初始化可以 么?

其實,java的數組變量是引用類型的變量,並不是數組對象本身,只要讓數組變量指向有效的數組對象,程序中就可使用該數組變量,比如下面這個例子:

 

public class T { 

  /**

   * @param args

   */ 

  public static void main(String[] args) { 

    // TODO Auto-generated method stub 

    //定義並初始化nums數組 

    int nums[] = new int[]{3,13,4,6}; 

    //定義一個prices數組變量 

    int prices[]; 

    //讓prices數組指向nums所引用的數組 

    prices = nums; 

    for(int i=0;i<prices.length;i++){ 

      System.out.println(prices[i]); 

    } 

    //將prices數組的第三個元素賦值為100 

    prices[2] = 100; 

    //訪問nums數組的第三個元素 將看到數組100 

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

  } 

}

從上面代碼可以看出,定義了prices數組之后,並未對prices數組進行初始化。 當執行int prices[]之后,

程序的內存分配如圖

從圖可以看出,此時的prices數組還未指向任何有效的內存,未指向任何數組對象,此時的程序還不可使用prices數組變量。

當程序執行prices = nums之后,prices變量將指向nums變量所引用的數組,此時prices變量和nums變量引用同一個數組對象。

執行這條語句之后,prices變量已經指向有效的內存及一個長度為4的數組對象,因此程序完全可以正常使用prices變量了。

對於數組變量來說,它並不需要進行所謂的初始化,只要讓數組變量指向一個有效的數組對象,程序即可正常使用該數組變量。

 

所以,Java語言中的數組,不一定要初始化也可正常使用。Java初學者可以嘗試用上面這里例子的方法,實際操作一下,加深印象。最后,希望小編的分享對大家有幫助。

 

相關閱讀:《給初學Java的新手們一些建議


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM