数组
一维数组
-
数组的声明:
数据类型【】数组名=new 数组类型【长度】
数组类型【】数组名=new 数组类型 【】{元素}
数组类型【】数组名={元素} -
数组名按标识符命名规则命名
-
一个数组只能保存一种数据类型
-
数组中的默认元素是0
二维数组
- 二维数组的声明方式比较灵活,常见的二维数组声明方式有如下几种
类型 数组名【】【】={{初始值1}. {初始值2}. {初始值3}};
类型 数组名【】【】=new 类型【长度】【长度】;
类型 数组名【】【】=new 类型【长度】【】;
类型 数组名【】【】=new 类型{{初始值 1}。初始值2), {初始值3}};
- 第三种方法只能赋值外部数组,内部数组需要自己用for循环创建。
数组的内存分配结构
- 一个数组如果要有意义,那么必须能操作数组中的元素,要操作数组中的元素就得访问数组元素,数组元素的访问使用的是“数组名[下标]"的方式去访问,下标是从0开始,所以数组的元素的最后一个下标就是数组的长度减去一。
那么如果你要真正理解数组的元素访问,那么你要理解数组数据在内存中是如何分配的。
当创建了一个数组的时候在内存中其实上使用了两块空间,这两块空间分别是栈和堆,其中堆中保存的是数组真正的数据,那么这个数组在堆中有一个地址,这个地址保存到了栈中,那么访问数据的时候只要找到这个地址就能操作堆中的数组中的数据。
数组排序
数组越界异常
- 我们在定义完毕数组的时候数组的长度就已经确定了,如果我们在访问数组的元素的时候超过下标的范围(大于下标的最大值或者小于下标的最小值)就会出现数组越界异常。
加强的for循环实现遍历