Java 数组(Array)
数组是 存储相同类型数据的有序集合,在内存中是连续空间,每个元素都有 索引(下标),下标从 0 开始。
1. 数组的声明与创建
1.1 声明数组
// 方法1:指定类型和数组名
int[] numbers;
// 方法2:另一种写法(不推荐)
int numbers2[];
1.2 创建数组
numbers = new int[5]; // 创建一个长度为5的int数组
注意:数组长度固定,创建后不可改变。
1.3 声明+创建+初始化
int[] arr1 = new int[3]; // 默认值为 0
int[] arr2 = {1, 2, 3}; // 自动长度3
String[] names = {"Tom", "Jack"}; // 字符串数组
2. 数组元素访问
-
通过索引访问
arr2[0] = 10; // 修改第一个元素
int x = arr2[1]; // 访问第二个元素
System.out.println(arr2[2]); // 输出第三个元素
-
获取数组长度
int len = arr2.length;
System.out.println("数组长度:" + len);
注意:
length是属性,不是方法,没有括号。
3. 常见操作
3.1 遍历数组
// 方法1:普通 for 循环
for (int i = 0; i < arr2.length; i++) {
System.out.println(arr2[i]);
}
// 方法2:增强 for 循环(for-each)
for (int num : arr2) {
System.out.println(num);
}
3.2 数组排序
import java.util.Arrays;
int[] nums = {5, 2, 8, 3};
Arrays.sort(nums); // 升序排序
System.out.println(Arrays.toString(nums)); // 输出数组
3.3 数组查找
int index = Arrays.binarySearch(nums, 3); // 二分查找(数组必须排序)
System.out.println("索引位置:" + index);
3.4 数组拷贝
int[] copy = Arrays.copyOf(nums, nums.length); // 完整拷贝
3.5 数组填充
int[] arr = new int[5];
Arrays.fill(arr, 7); // 所有元素填充为7
4. 多维数组
4.1 二维数组
int[][] matrix = new int[3][4]; // 3行4列,默认值0
// 声明并初始化
int[][] matrix2 = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
};
// 遍历二维数组
for (int i = 0; i < matrix2.length; i++) {
for (int j = 0; j < matrix2[i].length; j++) {
System.out.print(matrix2[i][j] + " ");
}
System.out.println();
}
4.2 注意点
-
matrix.length→ 行数 -
matrix[i].length→ 第 i 行列数(可不规则)
5. 数组的优缺点
优点:
-
可以快速通过索引访问元素
-
内存连续,访问速度快
缺点:
-
长度固定,不能动态扩展
-
插入和删除效率低(需要移动元素)
如果需要动态长度数组,推荐使用 集合类,如
ArrayList。

3290

被折叠的 条评论
为什么被折叠?



