1. 概念
数组(array) 是一种最简单的复合数据类型,它是有序数据的集合,数组中的每个元素具有相同的数据类型,可以用一个统一的数组名和不同的下标来确定数组中唯一的元素。
2. 数组的存储方式
-
数组中分配的固定的内存空间
-
每块空间大小相同
-
使用索引(下标)访问数组中的数据
3. 数组定义
1.int[ ] a = {1,2,3,5};(常用)
2.int[ ] a = new int[4];(常用)
3.int[ ] a = new int[ ]{1,2,3,5};
4. 数组操作
- 获取数组长度: a.length
- 获取第一个元素:a[0]
- 访问索引为index的元素:a[index] —index 是从数组元素的位置
- 最后一个元素: a[a.length-1]
5. 数组遍历
遍历: 取出数组中的所有元素
/*
* 使用循环遍历
* 需要知道数组起点和终点
*/
public static void ergodic01(int[] c) {
for(int i = 0;i<c.length; i++) {
System.out.print(c[i]+"\t");
}
}
/*
* for...each 增强性for循环
* 不需要知道起点和终点,取一个c值就放入变量t中
*/
public static void ergodic02(int[] c) {
for(int t: c) {
System.out.print(t+"\t");
}
}
6. 数组常见异常
6.1 越界异常
访问数组不得超越数组索引的界限(最小索引是0,最大索引是length-1)
6.2 类型异常
数组每个元素类型必须一致
7. 数组辅助类-Arrays
方法名称 | 描述 | 案例 |
---|---|---|
void sort(int[] ) | 对数组中的元素排序 | Arrays.sort(a); |
equals(int[], int[] ) | 判断两个数组是否相等 | Arrays.equals(a,b); |
fill(long[], long val) | 在数组中填入值 | Arrays.fill(a,5); |
int[] copyOf(int[] , int newLength) | 将数组拷贝到新的数组中 | int[] b = Arrays.copyOf(a, 10); |
String toString(int[]) | 将数组转换为字符串 | String str = Arrays.toString(a); |