数组是一种数据结构,它是一组相同类型的数据元素的集合,每个元素可以通过下标来访问。在Java中,数组可以存储基本数据类型和对象类型。
- 定义数组
在Java中,定义一个数组需要指定数组的类型和数组的长度,语法如下:
// 基本类型数组的定义
int[] intArray = new int[5];
// 对象类型数组的定义
String[] strArray = new String[3];
上述代码中,intArray 是一个整型数组,长度为5;而 strArray 是一个字符串数组,长度为3。注意,定义数组时必须指定长度,长度可以是任意整数值。
- 初始化数组
数组可以通过两种方式进行初始化:静态初始化和动态初始化。
静态初始化指在定义数组的同时为数组元素赋初值;动态初始化指先定义数组,再为数组元素赋值。
静态初始化的语法如下:
// 声明并初始化整型数组
int[] intArray = {1, 2, 3, 4, 5};
// 声明并初始化字符串数组
String[] strArray = {"hello", "world"};
动态初始化的语法如下:
// 声明整型数组
int[] intArray = new int[5];
// 为整型数组赋值
intArray[0] = 1;
intArray[1] = 2;
intArray[2] = 3;
intArray[3] = 4;
intArray[4] = 5;
// 声明字符串数组
String[] strArray = new String[3];
// 为字符串数组赋值
strArray[0] = "hello";
strArray[1] = "world";
strArray[2] = "java";
- 访问数组
数组元素可以通过下标来访问,下标从0开始,可以是任意整数值。例如,访问 intArray 的第一个元素,可以使用 intArray[0],访问 strArray 的第二个元素可以使用 strArray[1]。
// 访问整型数组
System.out.println(intArray[0]); // 输出 1
System.out.println(intArray[4]); // 输出 5
// 访问字符串数组
System.out.println(strArray[1]); // 输出 world
System.out.println(strArray[2]); // 输出 java
需要注意的是,如果访问的数组下标超出了数组的长度,将会发生 ArrayIndexOutOfBoundsException 异常,例如访问 intArray[5] 将会抛出该异常。
// 访问不存在的数组下标
System.out.println(intArray[5]); // 抛出 ArrayIndexOutOfBoundsException 异常
- 数组的常用操作
Java中提供了一些常用的数组操作方法,如下:
(1) 遍历数组
遍历数组可以使用 for 或者 foreach 循环。例如,遍历 intArray 数组,可以使用如下代码:
// 使用 for 循环遍历整型数组
for (int i = 0; i < intArray.length; i++) {
System.out.print(intArray[i] + " ");
}
System.out.println();
// 使用 foreach 循环遍历整型数组
for (int num : intArray) {
System.out.print(num + " ");
}
System.out.println();
(2) 数组排序
Java中提供了 Arrays.sort() 方法来对数组进行排序。例如,对 intArray 数组进行排序,可以使用如下代码:
// 对整型数组进行排序
Arrays.sort(intArray);
// 输出排序后的整型数组
System.out.println(Arrays.toString(intArray));
(3) 数组拷贝
Java中提供了 System.arraycopy() 方法来对数组进行拷贝。例如,将 intArray 数组拷贝到 newIntArray 数组中,可以使用如下代码:
// 拷贝整型数组
int[] newIntArray = new int[intArray.length];
System.arraycopy(intArray, 0, newIntArray, 0, intArray.length);
// 输出拷贝后的整型数组
System.out.println(Arrays.toString(newIntArray));
- 多维数组
Java中还支持多维数组,例如二维数组、三维数组等。多维数组可以看作是数组的数组,通过下标可以访问每一个元素。
二维数组的定义和初始化如下:
// 定义并初始化二维数组
int[][] int2DArray = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
};
访问二维数组的元素可以使用两个下标,第一个下标表示行,第二个下标表示列。例如,访问 int2DArray 的第二行第三列,可以使用 int2DArray[1][2]。
// 访问二维数组
System.out.println(int2DArray[1][2]); // 输出 6
三维数组的定义和初始化如下:
// 定义并初始化三维数组
int[][][] int3DArray = {
{{1, 2}, {3, 4}},
{{5, 6}, {7, 8}}
};
访问三维数组的元素可以使用三个下标,分别表示三个维度。例如,访问 int3DArray 的第二个二维数组的第一行第二列,可以使用 int3DArray[1][0][1]。
// 访问三维数组
System.out.println(int3DArray[1][0][1]); // 输出 6
至此,我们完成了对Java中数组的介绍和使用方法的详细说明。

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



