本人小白一枚,欢迎大家一起讨论学习,如有错误,还望大家指教。
什么是数组?
数组就是存储相同数据类型的容器。
数组的特点:
1、数组是一种引用数据类型
2、数组当中的多个数据,类型必须统一
3、数组的长度在程序运行期间不可改变
数组的初始化:在内存中创建一个数组,并且向其中赋予默认值。
两种常见的初始化方式:
1、 动态初始化(指定长度)
2、 静态初始化(指定内容)
注意事项:
静态初始化其实也有默认值的过程,只不过系统自动马上将默认值替换成为了大括号当中的具体数值。
为什么数组在new出来之后,我们没有给它初始化,它会有默认值呢?
我们可以看下图
通过上面这个图片,我们简单的了解了这五个部分,我们将要对前三个重点深入,下面请看创建一个数组的情况
我们方法的一些描述,都会存在于方法区(Method Area)当中,它记录着方法的返回值、参数以及方法名等。我们知道,程序都是从mian方法开始执行的,当执行main方法时,会进行进栈操作,进栈也称压栈(进栈特点:先进后出)。我们先new一个整型的数组,同时,会对数组进行初始化,由图一可知,凡是new出来的,都存在于堆中,这个数组会产生一个地址(十六进制),而数组名array记录的是这个地址值,剩下那些代码我们就不在过多叙述了,请仔细领悟图2。
接下来,我们将进行操作两个数组(1、各自开辟一个地址。2、两个引用指向同一个地址)