数组
数组是java的一种基本数据类型,可以存储一组相同类型的数据
核心要点
若需要对一组相同数据类型的数据进行定义时,不需要对每个数据都定义一个变量或常量。可以使用数组的方式对数据进行定义和存储。
数组的声明
数组的声明方法如下:
基本数据类型[] 变量名称;基本数据类型 变量名称[];不推荐使用此方法
数组的初始化
//不使用数组
int a = 1;
int b = 2;
int c = 3;
//使用数组 动态初始化
int[] arr = new int[3];
arr[0] = 1;
arr[1] = 2;
arr[2] = 3;
//使用数组 静态初始化
int[] dynamicArr = new int[]{1,2,3};特点:
- 数组在进行初始化后,数组的大小不再进行改变;
- 数组初始化后会存在默认值,整数的默认值为0,浮点数默认值为0.0,布尔类型默认只为false。
数组的访问
数组的访问是通过变量名[下标]的方式进行访问,如一个数组 arr 的大小为3,则数组的下标则是从0开始三个数,分别为:arr[0]、arr[1]、arr[2]。
int[] arrDemo = new int[]{1,2,3,4,5};
//获取数组长度
System.out.println(arrDemo.length);
//获取指定坐标的值
System.out.println(arrDemo[0]);
//获取数组内所有数据
for (int i = 0; i < arrDemo.length; i++) {
System.out.print(arrDemo[i]+" ");
}思考
数组进行重新初始化,长度是否发生改变?
//基本类型数组对象赋值
int[] intArr = new int[]{1,2,3,4,5};
System.out.println(intArr.length);//5
intArr = new int[2];
System.out.println(intArr.length);//2上述代码中,对数组 intArr 进行了重新初始化,从代码输出看数组长度发生了改变。实际在内存中修改形式为:
当执行 int[] intArr = new int[]{1,2,3,4,5}; 时,声明 arr 数组,并初始化数组内容到内存空间,将数组 arr 的指针指向变更:

当执行 intArr = new int[2]; 修改 arr 的指向而不是修改原有数据:

注意
- 数组定义后大小不可修改;
- 数组可以通过访问下标的方式获取对应下标数据;
- 数组可以是值类型(如
int)或引用类型(如String),但数组本身是引用类型。