数组
数组的作用
就是一个容器,用于程序中存储一批同类型的数据。
数组的定义
-
静态初始化数据
-
格式一: 数据类型[ ] 数组名称 = new 数据类型[ ] { 元素1,元素2,元素3… };
-
格式二:数据类型[ ] 数组名称 = {元素1,元素2,元素3… };
-
特点:在定义数组的同时位数组确定了数据。
-
使用场景 :一旦确定了数据的具体值,我们就用这种方式存储批量数据。
-
-
动态初始化数据
-
格式:数据类型[ ] 数组名称 = new 数据类型[ 长度 ];
-
特点:一开始只确定数组的类型和长度,不确定具体存入的数据
-
使用场景: 适合一开始不确定具体数据的情况,先定义数组,后赋值进去
动态初始化数组的元素存在默认值(如下图):
-
-
数据的访问
- 格式:数组名称[索引]
- 取值:int data = arr[1];
- 赋值:arr[1] = 3;
- 长度:arr.length;
-
数组的注意事项
- 什么类型的数组只能存放什么类型的数据
- 数据类型[ ] 变量名称 可以写成 数据类型 变量名称[ ]
- 数组一旦定义出来,程序执行过程中,长度和数据类型就固定了。
数组的遍历
int[] arr = {20,30,100,23,88};
for (int i=0; i<arr.length; i++) {
System.out.println(arr[i]);
}
数组的内存图
数组使用的常见问题
- 不能访问超过数组最大索引,否则会出现ArrayIndexOutOfBoundsException(数组索引越界异常)
- 如果数组变量中没有存储数组的地址,而是null, 在访问数组信息时会出现NullPointerException(空指针异常)