在剛剛學習數組時,經常會和其他語言數組聲明與初始化方式弄混,在java中數組聲明方式一共兩種。
第一種: int[] arr;
第二種:int arr[];
這兩種方式沒有太大的區別,但是本人推薦第一種方式,因為數組是引用數據類型,所以可以將int[] 看成一個數據類型,而arr是一個這個類型的引用。這樣就可以方便理解為什么初始化時可以使用new。聲明完數組還不能訪問它的元素,還需要進行初始化。
數組的初始化方式有三種,一種動態初始化,兩種靜態初始化。
第一種(動態方式):arr = new int[3]; arr[0] = 0; arr[1] = 1; arr[2] = 2;
這里是先通過new創建一個對象,在內存中開辟相應大小的空間,並將創建的數組對象賦給引用變量arr,然后給數組各個元素賦值。
第二種(靜態方式):arr = new int[]{0, 1, 2};
第二種方式與第一種基本類似,只不過在開辟空間同時進行了初始化。
第三種(靜態方式):int[] arr = {0, 1, 2};
第三種方式比較特殊,必須要在聲明的同時完成初始化,如果你想要int[] arr; arr = {0, 1, 2};編譯器就會報錯。