數組在內存中的分配

對於 Java 數組的初始化,有如下兩種方式:
   靜態初始化:初始化時由程序員顯式指定每一個數組元素的初始值,由系統決定數組長度,如:
  
//只是指定初始值,並無指定數組的長度,可是系統爲自動決定該數組的長度爲4 
String[] computers = {"Dell", "Lenovo", "Apple", "Acer"}; //① 
//只是指定初始值,並無指定數組的長度,可是系統爲自動決定該數組的長度爲3 
String[] names = new String[]{"多啦A夢", "大雄", "靜香"}; //②

  動態初始化:初始化時由程序員顯示的指定數組的長度,由系統爲數據每一個元素分配初始值,如:java

//只是指定了數組的長度,並無顯示的爲數組指定初始值,可是系統會默認給數組數組元素分配初始值爲null 
String[] cars = new String[4]; //③

 

由於 Java 數組變量是引用類型的變量,因此上述幾行初始化語句執行後,三個數組在內存中的分配狀況以下圖所示:程序員

  由上圖可知,靜態初始化方式,程序員雖然沒有指定數組長度,可是系統已經自動幫咱們給分配了,而動態初始化方式,程序員雖然沒有顯示的指定初始化值,可是由於 Java 數組是引用類型的變量,因此係統也爲每一個元素分配了初始化值 null ,固然不一樣類型的初始化值也是不同的,假設是基本類型int類型,那麼爲系統分配的初始化值也是對應的默認值0。數組

相關文章
相關標籤/搜索