数组是一种数据结构,用于存储相同类型的数据。数组在内存中是连续分配的,因此访问数组元素的速度很快。
数组的声明和初始化
//一维数组
int[] numbers;//声明:指定数组的数据类型和数组名称。
numbers = new int[5];//创建和初始化:使用 new 关键字为数组分配内存,并指定数组的长度。
int[] numbers = new int[5];//声明并初始化
int[] numbers = {1, 2, 3, 4, 5};//静态初始化:在声明的同时给数组赋值。
//多维数组
int[][] matrix = new int[3][4];//声明和创建二维数组
int[][] matrix = {
{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12}
};//静态初始化二维数组
访问数组元素
int firstNumber = numbers[0]; // 访问第一个元素
numbers[1] = 10; // 修改第二个元素的值
int value = matrix[1][2]; // 访问第二行第三列的元素
matrix[0][1] = 20; // 修改第一行第二列的元素值
数组的长度
int length = numbers.length;
int rows = matrix.length;
int cols = matrix[0].length; // 注意:需要确保数组至少有一行
数组的遍历
//使用 for 循环
for (int i = 0; i < numbers.length; i++) {
System.out.println(numbers[i]);
}
//使用增强的 for 循环
for (int number : numbers) {
System.out.println(number);
}
//对于多维数组
for (int i = 0; i < matrix.length; i++) {
for (int j = 0; j < matrix[i].length; j++) {
System.out.println(matrix[i][j]);
}
}
数组的特点
- 固定长度:数组的长度在创建后不能改变。
- 同类型元素:数组中的所有元素必须是相同的数据类型。
- 随机访问:数组支持通过下标进行随机访问,访问速度快。
- 内存连续:数组在内存中是连续分配的,这也是访问速度快的原因之一。
常用操作
int[] copy = Arrays.copyOf(numbers, numbers.length);//可以使用 Arrays 类提供的静态方法 sort 来对数组进行排序。
int[] copy = Arrays.copyOf(numbers, numbers.length);//可以使用 System.arraycopy 或 Arrays.copyOf 方法来复制数组。
System.out.println(Arrays.toString(numbers));//可以使用 Arrays.toString 方法将数组转换为字符串,便于输出。