對於 Java 數組的初始化,有以下兩種方式: 靜態初始化:初始化時由程式員顯式指定每個數組元素的初始值,由系統決定數組長度,如: //只是指定初始值,並沒有指定數組的長度,但是系統為自動決定該數組的長度為4 String[] computers = {"Dell", "Lenovo", "Appl ...
對於 Java 數組的初始化,有以下兩種方式: 靜態初始化:初始化時由程式員顯式指定每個數組元素的初始值,由系統決定數組長度,如:
//只是指定初始值,並沒有指定數組的長度,但是系統為自動決定該數組的長度為4 String[] computers = {"Dell", "Lenovo", "Apple", "Acer"}; //① //只是指定初始值,並沒有指定數組的長度,但是系統為自動決定該數組的長度為3 String[] names = new String[]{"多啦A夢", "大雄", "靜香"}; //②
動態初始化:初始化時由程式員顯示的指定數組的長度,由系統為數據每個元素分配初始值,如:
//只是指定了數組的長度,並沒有顯示的為數組指定初始值,但是系統會預設給數組數組元素分配初始值為null String[] cars = new String[4]; //③
因為 Java 數組變數是引用類型的變數,所以上述幾行初始化語句執行後,三個數組在記憶體中的分配情況如下圖所示:
由上圖可知,靜態初始化方式,程式員雖然沒有指定數組長度,但是系統已經自動幫我們給分配了,而動態初始化方式,程式員雖然沒有顯示的指定初始化值,但是因為 Java 數組是引用類型的變數,所以系統也為每個元素分配了初始化值 null ,當然不同類型的初始化值也是不一樣的,假設是基本類型int類型,那麼為系統分配的初始化值也是對應的預設值0。