存储相同类型数据的固定大小集合
数组是相同类型数据的集合,长度一旦创建就固定不变。
// 声明和创建数组(方式1:指定长度)
int[] numbers = new int[5]; // 长度5,默认值为0
// 声明和创建数组(方式2:直接初始化)
int[] scores = {85, 90, 78, 92, 88};
String[] fruits = {"苹果", "香蕉", "橙子"};
// 访问和修改元素(索引从 0 开始)
numbers[0] = 10; // 第一个元素赋值为 10
numbers[4] = 50; // 最后一个元素赋值为 50
int first = numbers[0]; // 读取第一个元素:10
// 数组长度(不可改变)
int len = numbers.length; // 5
// 遍历数组(方式1:for 循环)
for (int i = 0; i < numbers.length; i++) {
System.out.println("索引 " + i + ": " + numbers[i]);
}
// 遍历数组(方式2:增强 for)
for (int num : numbers) {
System.out.println(num);
}
数组的元素可以是数组,这就形成了二维数组,常用于矩阵、表格等场景。
// 创建二维数组(3行3列)
int[][] matrix = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
};
// 访问元素:matrix[行][列]
int center = matrix[1][1]; // 5(第2行第2列)
// 遍历二维数组(嵌套循环)
for (int i = 0; i < matrix.length; i++) {
for (int j = 0; j < matrix[i].length; j++) {
System.out.print(matrix[i][j] + " ");
}
System.out.println();
}
数组下标从 0 开始。访问越界(如访问索引为 5 的 5 元素数组)会抛出 ArrayIndexOutOfBoundsException。数组长度是固定的,不能动态扩容。
int[] arr = new int[3];
arr[0] = 10;
arr[1] = 20;
System.out.println(arr[1] + arr.length);