学习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)); } }
了解了静态与动态初始化数组了以后,让咱们来观察它在内存中是如何分配的: 内存