1. 程式人生 > >java 建立陣列的三種方式及區別

java 建立陣列的三種方式及區別

建立陣列的三種方式:其實分為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,

注:記憶體一旦分配不能改變,所有說陣列長度固定