1、一维数组
- 数组是用来存储一组相同数据类型数据的数据结构
- 数组的元素可以是简单数据类型的数据,也可以是引用数据类型的数据
- 无论数组内容是简单类型还是引用类型,数组自己本身都是一种引用类型
- 每个数组元素都有下标,下标从0开始
定义一维数组
int array1[ ];
int [ ] array2,array3;
在数组定义中,不能指定数组的长度,需要在数组的创建阶段来指定
符号“[]”说明声明的是一个数组对象。这两种声明方式没有区别,但是第二种可以同时声明多个数组
// 创建大小为10个整型的数组
int[] array = new int[10]; // 创建大小为5个整型的数组并初始化
int[] array = {1, 2, 3, 4, 5}; // 等号右边的中括号不能填大小,有大括号中的具体数值决定
int[] array = new int[]{1,2,3,4,5};
2、length实例变量
int[] arr = new int[10];
arr.length 表示数组长度
3、一维数组复制
// 从 src 数组 srcPos 位置开始拷贝 length 长度到 dest 数组 destPos 开始的位置
// 参数1:原数组
// 参数2:复制原数组的起始位置
// 参数3:目标数组
// 参数4:目标数组存放的起始位置
// 参数5:复制的长度
System.arraycopy(src, srcPos, dest, destPos, length);
int[] arr1 = new int[];
int[] arr2 = new int[]; // 该语句会把 arr1 也指向 arr2 数组,改变 arr2 数组的值,arr1 数组的值也会改变
//arr1 = arr2; // 该语句会把 arr2 数组中的值复制到 arr1 数组中,改变 arr2 中的值,不会影响 arr1 数组
//System.arraycopy(arr2, 0, arr1, 0, arr2.length);
4、二维数组
int[][] two = new int[5][6];
two.length表示数组的行数,two[i].length表示数组的列数。
5、不规则数组
int[][] two = new int[4][]; // 数组有4行
two[0] = new int[1]; // 第1行有1列
two[0] = new int[2]; // 第1行有2列
two[0] = new int[3]; // 第1行有3列
two[0] = new int[3]; // 第1行有4列
6、for-each循环:用来遍历数组
for (数据类型 变量x : 遍历对象) {
应用x的语句
}
// for-each 访问一维数组
public class Array {
public static void main(String[] args) {
int sum = ;
int[] arr = {, , , , };
for (int i : arr) {
sum += i;
}
System.out.println(sum);
}
}
结果:15
// for-each 访问二维数组
public class Array {
public static void main(String[] args) {
int sum = ;
int[][] arr = {{, },{, }};
for (int i[] : arr) {
for (int j : i) {
sum += j;
}
}
System.out.println(sum);
}
}
结果:10