一、概述
数组是多个相同数据类型的数据的顺序集合,可以通过数组名进行引用操作数组中的每个元素,元素可以通过角标、下标、索引获取,数组中元素的个数代表了数组的长度。
数组具有如下特点:
- 数组属于引用类型
- 数组中的元素可以是基本数据类型,也可以是引用数据组类型
- 创建数组对象通过new关键字,此时会在内存中开辟一块连续的存储空间
- 数组的长度一旦确定,则无法修改
数组按照维数可以分为一维数组、二维数组等。
二、一维数组
1)声明和初始化
String[] names; // 声明int类型的数组
names = new String[] {"001", "002", "003", "004"};// 静态初始化
String[] hobby = new String[5]; // 动态初始化
int[] numbers = {1, 2, 3, 4, 5};
2)数组的长度
System.out.print(names.length);
3)引用元素
// 通过索引获取数组中的指定元素
String name = names[0]; // 数组的索引是从0开始的,最后一个元素的索引为 array.length - 1
// 赋值
names[1] = "张飞";
4)一维数组的遍历
// 通过数组的索引获取所有的数组元素
for(int i=0; i<names.length; i++) {
System.out.println(names[i]);
}
5)数组的默认值
- 数组元素为整型时,默认值为0
- 数组元素为浮点型时,默认值为0.0
- 数组元素为char时,默认值为’\u0000’
- 数组元素为boolean时,默认值为false
- 数组元素为引用数据类型时,默认值为null
三、数组常用工具类及常见异常
1)常用工具类Arrays
void fill(int[] a,int val) //将指定值填充到数组之中
void sort(int[] a) //对数组进行排序
List<String> stooges = Arrays.asList("Larry", "Moe", "Curly");
2)常见异常
- 下标越界异常 ArrayIndexOutOfBoundsException
// 当操作的索引操过数组的最大索引时,会抛ArrayIndexOutOfBoundsException异常
- 空指针异常 NullPointerException
//情况一:
int[] arr1 = new int[]{1,2,3};
arr1 = null;
System.out.println(arr1[0]);
//情况二:
int[][] arr2 = new int[4][];
System.out.println(arr2[0][0]);