Java中的數組(一)

學習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 };;
	}
}

想一下,iarr2進行從新「賦值」時爲何會出錯。

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));
	}
}

瞭解了靜態與動態初始化數組了以後,讓咱們來觀察它在內存中是如何分配的: Java數組的動態與靜態初始化內存

相關文章
相關標籤/搜索