数组的由来:
数组对于所有编程语言来说都是重要的数据结构之一,
因为数组可以用来存储固定大小的同类型元素。
- 创建数组:
一个完整的数组都是要声明一个数组变量接收初始化的数组组成的!
一维数组:
声明数组变量
声明数组格式:元素类型[] 数组名;
数组初始化
数组初始化格式: 数组名={元素1,元素2,…};
创建静态初始化一维数组
已知具体元素数组格式:元素类型[] 数组名=new元素类型[]{元素1,元素2,…}
例子:
创建动态初始化一维数组
已知元素个数的数组格式:元素类型[] 数组名=new元素类型[元素个数]
例子:
二维数组声明数组:
二维数组相当于数组的数组,
数组空间不是连续分配的。所以不要求二维数组每一维的大小相同。
创建静态初始化二维数组
已知具体元素数组格式:元素类型[][] 数组名=new元素类型[][]{{元素,…},{元素,…},…}
例子:
创建动态初始化二维数组
已知元素个数的数组格式:
元素类型[][] 数组名=new元素类型[大数组个数][大数组里的元素个数]
例子:
2.数组赋值
静态初始化在初始化的时候已经对数组进行了赋值,当动态初始化仅仅只是定义里数组的大小,并没有对数组进行赋值,所以动态初始化的数组可以在需要的时候就对其数组进行赋值!
对动态初始化的一维数组赋值:
例子:
对动态初始化的二维数组赋值:
例子:
3、数组引用
Java中通过下标来引用数组元素个数
Java会对数组元素要进行越界检查以保证安全性。
每个数组都有一个length属性来指明它的长度,
一维数组的引用
格式:数组名[该引用元素的索引值];
例子:
二维数组的引用
格式:数组名[大数组的引用元素的索引值][小数组的引用元素的索引值];
例子:
4、数组的遍历
对数组操作最基本的动作就是存与取。在实际开发中,经常需要遍历数组以获取数组中的每一个元素。数组元素的存与取最重要的核心思想就是对角标的操作,for循环是最常用来获取数组元素的循环。
一维数组的遍历取值:
例子:
二维数组遍历:
例子:
5、数组的排序
例子:
数组常见问题:
- 当访问到数组中不存在的角标时,就会发生ArrayIndexOutOfBoundsException异常
- 当引用型变量没有任何实体指向时,还在用其操作实体,就会发生NullPointerException异常