java 建立陣列的三種方式及區別
阿新 • • 發佈:2018-12-30
建立陣列的三種方式:其實分為2類,一種是靜態的建立,如方式一。一種是動態的建立,只不過根據寫法的不同分為方式二和方式三:
public static void main(String[] args) {
// 1.方式一 宣告 分配空間並賦值
int[] arr1 = {1,2,3};
// 2.方式二 顯示初始化
int[] arr2;
arr2 = new int[]{1,2,3};
// 3.方式三 顯示初始化()
int[] arr3;
arr3 = new int[3];
}
他們的區別,方式一:在宣告的時候直接就已經分配空間,並賦值,方式一是不能寫成如下這種形式的。
方式二和方式三,宣告和記憶體分配是分開的,如上面的例子,int[] arr1; arr1 = {1,2,3};//錯誤寫法 編譯不同過
int[] arr2; 和 int[] arr3;
這一步是在棧空間分配一個引用,存放的是一個引用,null
arr2 = new int[]{1,2,3};<span style="font-family: Arial, Helvetica, sans-serif;">arr3 = new int[3];</span>
到這一步的時候jvm才開始在記憶體堆區域分配空間,並賦值,方式二直接賦值 1,2,3 方式三 預設初始化,基本型別是 0 布林型別是 false 引用型別為null,注:記憶體一旦分配不能改變,所有說陣列長度固定