【Java基础】Java数组
前言
在Java编程中,数组是一种非常基础且重要的数据结构。无论你是新手还是有经验的开发者,理解如何有效地使用数组对于编写高效和可维护的代码至关重要。
数组的静态初始化
静态初始化是指在声明数组的同时为其元素赋值。这种方式非常适合于你已经知道所有元素值的情况。
1. 直接在声明时初始化
这是最直接的方式,允许你在声明数组的同时提供一组初始值。
int[] numbers = {1, 2, 3, 4, 5};
String[] words = {"apple", "banana", "cherry"};
这种方法简洁明了,适用于当你清楚地知道数组中需要包含哪些元素时。
2. 使用new
关键字同时进行初始化
虽然这种方法同样属于静态初始化,但它明确地使用了new
关键字来创建数组,并在花括号内提供了初始化列表。
int[] numbers = new int[]{1, 2, 3, 4, 5};
String[] words = new String[]{"apple", "banana", "cherry"};
值得注意的是,在局部变量或成员变量声明时,new
关键字及其后面的类型说明可以省略,简化为第一种形式。
动态初始化
动态初始化则是先声明数组的大小(分配空间),然后根据需要为每个元素单独赋值。这种方式适合于运行时才知道数组大小或元素值的情形。
int[] numbers = new int[5]; // 首先声明大小
for (int i = 0; i < numbers.length; i++) {
numbers[i] = i + 1; // 动态地为每个元素赋值
}
二维数组
二维数组可以视为“数组的数组”,非常适合用于表示表格或矩阵的数据结构。
-
静态初始化:
int[][] matrix = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} };
-
动态初始化:
- 创建一个具有固定大小的二维数组:
int[][] matrix = new int[3][3];
- 或者创建一个不规则(jagged)的二维数组:
int[][] jaggedArray = new int[3][]; jaggedArray[0] = new int[1]; jaggedArray[1] = new int[2]; jaggedArray[2] = new int[3];
- 创建一个具有固定大小的二维数组:
遍历二维数组通常需要嵌套循环来处理每个元素:
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();
}