数组
1.数组的定义
同一种类型数据的集合,存放数据的容器,就叫做数组。
抽象一个数组模型:
创建数组的定义方式:
元素类型 [ ] 数组名称 = new 元素类型 [元素的个数或数组的长度]
示例:
int [ ] array = new int [5];
或
int array [ ] = new int [5];
或
int [ ] array = new int []{1,2,3,4,6,7};
或
int array [ ] = {1,2,3,4,6,7};
解释说明:
利用关键字new创建了一个数组长度为5的int类型数组,名称叫array。
实际上就是在内存在开辟了5个4字节(int类型占4字节)的连续空间,所以数组一旦被创建,数组长度是不能改变的。
2.数组的应用
数组中每一个元素都有一个下标,我们可以通过下标获得数组中指定元素的数值。
运用如下:
注意:int数组中的元素如果不设值默认为0
如果输出一个数组的所以元素,代码如下:
堆&栈
1.堆&栈
堆内存:
存储的都是局部变量,只要是在方法中定义的变量都是局部变量,一旦变量的生命周期结束该变量产生的内存空间将被释放。
栈内存:
存储的都是实体(对象),每个实体都有一个首地址值。
以下图为例:
实际中JVM内存中的处理逻辑如下:
注意:array存储的是数组实体的首地址值,如果程序在应用array变量时,会根据首地址值去堆中找到相对应的数组实体。
实际上就是在内存在开辟了5个4字节(int类型占4字节)的连续空间,所以数组一旦被创建,数组长度是不能改变的。