一.特点
- 数组本身是引用数据类型,而数组中的元素可以是任何数据类型
- 创建数组对象在内存是分配连续的空间,数组名引用的是首地址
- 长度一旦确定,就不能修改
二.一维数组
- 初始化:静态初始化和动态初始化
初始化完成 长度就确定
int [] ids;
ids = new int []{1,2,3};
String [] names;
names = new String[5];
-
初始化值
①数组元素是整型:0
②数组元素是浮点型:0.0
③数组元素是char型:0(对应的ASCII码值是0),而不是’0’
④数组元素是boolean型:FASLE
⑤数组元素是引用数据类型:NULL -
内存解析
三.二维数组
1.理解
可以看成一维数组array1又作为另一个数组array2的元素存在。其实从数组底层的机制来看,其实没有多维数组。
分为外层数组元素和内层数组元素
2.声明和初始化
3.遍历以及求长度
4.初始化值
内层的和一维是一样的,取决于是什么类型
外层数组存的其实就是一个地址值
[表示是一维的,I表示是int型的, @后面接地址
[[表示二维数组
后面不知道情况,因为数组本身是引用数据类型,所以初始值是null
5.二维数组内存解析
arr1出栈以后 地址消失 紧接着后面堆空间的都回收
引用类型的变量要么是null要么是个地址值
四.Arrays工具类的使用