對于 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,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/147230.html
標籤:Java
上一篇:wait 和 sleep 的區別
