java —— 数组
一、数组
- 定义:是相同类型变量的集合;构成元素为各个变量,构成元素类型即为变量类型;
- 数组的初始化:
① 静态初始化:初始化时指定每个元素的初始值,由系统决定数组的长度;
格式:数据类型[] 变量名 = new 数据类型[] {数据1, 数据2, 数据3, ……};
范例:int[] array = new int[] {1, 2, 3};
简化格式:数据类型[] 变量名 = {数据1, 数据2, 数据3, ……};
② 动态初始化:初始化时只指定数组的长度,由系统为数组分配初始值;
格式:数据类型[] 变量名 = new 数据类型[数组长度];
范例:int[] array = new int[3];
-
各个类型的默认值
**注:**特别注意布尔类型的默认值为 假! -
length:数组变量名.length 表示数组的容量即数组的长度;
int[] array = new int[]{1, 2, 3};
System.out.println(array.length);
输出:3
String[] str = {"Hello","World"};
System.out.println(str.length);
输出:2
**注:**字符串时,获取字符串的长度应为 length();
String str = "HelloWorld";
System.out.println(str.length());
输出:10
- 数组的遍历:逐个依次地访问数组的元素(可以通过循环实现);
int[] array = new int[]{1, 2, 3};
for (int i = 0; i < array.length; i ++){
System.out.print(array[i] + " ");
}
1 2 3
注:数组的索引即下标值是从0开始。
- 使用赋值运算符“ = ” 对数组变量进行赋值时,复制的是引用目标而不是元素;
- 数组的常见异常:
① 索引越界:引用数组中没有的索引,如数组长度为3,你输入的下标值为4,此时就会产生索引越界;
② 空指针异常:访问的数组已不再指向堆内存的数据; - ① 遍历:toString():将数组元素以字符串形式返回;
② 排序:sort():将数组按照升序进行排列;
③ 查找:binarySearch():在指定数组中查找指定处的元素,返回该元素的索引;
(先排序在进行查找) - 垃圾回收:不再被任何变量引用的对象所占的空间会通过垃圾回收自动进行回收,可以被再次利用;
二、多维数组
- 定义:构成元素的本身是数组的数组;
三种格式:
int[][] array;
int[] array[];
int array[][];