数组
数组是 Java 中用于存储固定大小同类型元素的数据结构。本章将介绍数组的基本概念、创建方式以及常用操作。
1. 数组的声明与初始化
示例:声明与初始化
| public class ArrayExample {
public static void main(String[] args) {
// 声明并初始化数组
int[] numbers = {1, 2, 3, 4, 5};
// 声明数组后初始化
String[] names = new String[3];
names[0] = "Alice";
names[1] = "Bob";
names[2] = "Charlie";
// 遍历数组
for (int num : numbers) {
System.out.println(num);
}
}
}
|
2. 多维数组
Java 支持多维数组,如二维数组。
示例:二维数组
| public class MultiDimensionalArray {
public static void main(String[] args) {
int[][] matrix = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
};
// 遍历二维数组
for (int[] row : matrix) {
for (int num : row) {
System.out.print(num + " ");
}
System.out.println();
}
}
}
|
3. 数组工具类
Java 的 java.util.Arrays 类提供了丰富的数组操作方法。
示例:数组工具类
| import java.util.Arrays;
public class ArraysClassExample {
public static void main(String[] args) {
int[] numbers = {5, 3, 1, 4, 2};
// 排序
Arrays.sort(numbers);
System.out.println("Sorted array: " + Arrays.toString(numbers));
// 二分查找
int index = Arrays.binarySearch(numbers, 3);
System.out.println("Index of 3: " + index);
}
}
|
4. 数组的常见问题
- 数组越界:访问超出数组范围的索引会抛出
ArrayIndexOutOfBoundsException。 - 空指针异常:未初始化的数组引用会导致
NullPointerException。
示例:数组越界
| public class ArrayBoundsExample {
public static void main(String[] args) {
int[] numbers = {1, 2, 3};
try {
System.out.println(numbers[3]); // 越界访问
} catch (ArrayIndexOutOfBoundsException e) {
System.out.println("Error: " + e.getMessage());
}
}
}
|
总结
数组是 Java 中最基本的数据结构之一,掌握数组的使用是学习 Java 的重要基础。