一、什么是数组?
- 按一定顺序排列的同类型数据的集合称为数组,本身是一种引用类型
二、数组的基本要素
标识符
数组元素
元素下标:从0开始
元素类型
三、如何使用数组?
第一步:声明数组
数组类型[] 数组名;
第二步:分配空间
数组名 = new 数据类型[数组元素个数];
第三步:给数组赋值,将数据存储到数组中
数组名[下标] = 数据值;
第四步:操作数据,使用数组名[数组元素下标]
来操作数据
声明数组、分配空间以及赋值合并写
数据类型[] 数组名 = new 数据类型[]{数据1,数据2,...数据n};
数据类型 数组名[] = new 数据类型[]{数据1,数据2,...数据n};
// 数组名 = new 数组元素类型[] {元素 1, 元素 2, ...};
// 在堆空间开辟一块内存区域来存储数组的元素(new)
// 将 该内存区域的地址值 赋值给 该数组的引用变量 arr(引用)
int[] arr = new int[] {1, 2, 3};
// 简单写法,必须声明的同时作初始化
// 数组元素类型[] 数组名 = {元素 1, 元素 2, ...};
int[] arr = {1, 2, 3};
// 动态初始化,系统自动为数组元素分配初始值
// 数组名 = new 数组元素类型[length];
int[] arr = new int[3]; // [0, 0, 0]
注意:数组一旦初始化完成,数组的长度就固定了,不能更改,除非重新做初始化
四、数组的基本操作
获取数组中的长度
数组名.length
遍历数组的方式
1、使用 for 循环:
int anOtherArray[] = new int[] {1, 2, 3, 4, 5};
for (int i = 0; i < anOtherArray.length; i++) {
System.out.println(anOtherArray[i]);
}
2、使用 for-each 循环:
int anOtherArray[] = new int[] {1, 2, 3, 4, 5};
for (int i : anOtherArray) {
System.out.println(i);
}
五、二维数组
实质还是一维数组, 其数组元素是引用类型( 数组类型), 数组元素里保存的引用指向一维数组
声明二维数组:数据类型[][] 数组名;
分配空间:数组名 = new 数据类型[数组长度][数组长度];
(其中第二个数组长度可以省略)
注意:二位数组在分配空间的时候,第一个数组长度必须要写告诉你这个二维数组里面有多少个元素,第二个数组长度可以写,可以不写,如果写了表示这个二维数组里的里面的元素(一维数组)的长度,如果没有写,这个二维数组里面的元素(一维数组)长度可以不一样
nums = new int[3][5];
表示这个数组可以存储3个元素,里面的元素长度都相同,都为5
nums = new int[3][];
表示这个数组可以存储五个元素,里面的元素长度不相同
赋值:数组名[下标][下标] = 数据;
声明和分配合并:
数据类型[][] 数组名 = new 数据类型[数组长度][数组长度];
声明、分配和赋值合并:
数据库类[][] 数组名 = new 数据类型[][]{{数据1,数据2,。。。,数据n},{数据1,数据2,。。。,数据n}}
二维数组的简写:
数据类型[][] 数组名 = {{...},{...},{...}}
操作数据:
数组名[下标][下标]