學習Java有4年的時間了,我終於想要寫一些關於Java的文章來分享給你們,這是個人Java博客的開編之做:討論下Java中的數組。 Java中的數組想一想看也沒有大不了的呀,就是建立數組,而後引用它呀?哈哈,看起來是這麼簡單,但在實際的開發中,僅僅是瞭解怎樣建立數組並引用它而已,這對軟件來講是很是危險的,有可能會寫出一些垃圾代碼,並且使得它們看起來很是奇怪,例如:數組
public class Test { public static void main(String[] args) { // 建立成功,靜態地初始化代碼 int[] iarr1 = { 1, 33, 55, 67, 9 }; // 出錯,看起來好像和上面的初始化方式同樣 int[] iarr2 = null; iarr2 = { 1, 33, 55, 67, 9 }; } }
爲何會出現上面的這種狀況呢? 再來看看下面的程序:學習
public class Test { public static void main(String[] args) { // 建立成功,動態地初始化代碼 int[] iarr2 = null; iarr2 = new int[]{ 1, 33, 55, 67, 9 } // 出錯,爲何呢? iarr2 = { 4, 5, 6 };; } }
Java的數組的初始化分爲兩種,一種是靜態地初始化,另外一種是動態地初始化:code
public class Test { public static void main(String[] args) { // 靜態地初始化數組 double[] weights = new double[] { 2.3, 4.2, 6.4, 4.1 }; //或者 double[] weights1 = { 2.3, 4.2, 6.4, 4.1 }; // 動態初始化數組 double[] heights = new double[4]; heights[0] = 1.75; heights[1] = 1.67; heights[2] = 1.73; System.out.println(Arrays.toString(heights)); } }
瞭解了靜態與動態初始化數組了以後,讓咱們來觀察它在內存中是如何分配的: 內存