/*
数组:是一种容器,如果数据过多,定义变量就很多
代码重复多,写很麻烦,数据多了存数组
定义数组容器:
定义数组容器,要素,强制数据类型的语言
必须有数据类型,大小,就是存储数据的个数
定义数组公式:
数据类型[] 变量名 = new 数据类型[存储元素的个数];
数据类型: 数组中存储元素的数据类型
[] 表示数组的意思
变量名 自定义标识符
new 创建容器关键字
数据类型:数组中存储元素的数据类型
[] 表示数组的意思
元素个数,就是数组中,可以存出多少个数据(恒定,定长)
数组属于引用类型,
*/
public class ArrayDemo{
public static void main(String[] args){
//定义一个数组,存储整数,容器长度3个
int[] arr = new int[3];
System.out.println(arr);//[I@32784a [代表数组 I代表整数 @分隔符 后边内存地址十六进制
}
}
1 首先.class 文件要进入数据方法共享区
2 执行main方法,此时进入方法栈(main方法进入栈内存运行叫做main压榨运行),在执行创建数组指令的时下一步
3 在堆里面创建一块内存区域,用以存储数组,但是这块内存区域相对于堆来说可能很小,不好找,所以要有一个地址
方便查找,所以将数组内存中的首地址表示出来(0xAB),虚拟机将地址传给变量名arr,所以这就是引用类型,传的是
引用,传的是地址,也就是理解成arr指向内存地址(类似于家庭的地址),每次运行可能地址都不一样,因为虚拟机开
辟的内存空间可能不一样。
4 总结一句话 变量arr 实际是地址
5 当main方法完成,也就是程序整个运行完成,则会删除arr,数组内存也就没了。