Java数组/Array
使用数组可以在单个变量中存储一组类型相同的值。
声明数组,使用类型后缀方括号定义数组变量:
String[] vehicle;
上面例子中,声明了一个字符串数组。
要把值插入到数组中,可以使用以下方式:
String[] vehicle = {"自行车", "电动车", "汽车", "高铁"};
要创建一个整数数组,如下所示:
int[] myNum = {10, 20, 30, 40};
访问数组的元素
要访问数组元素,可使用索引号。
这个例子访问vehicle中第一个元素的值:
示例
String[] vehicle = {"自行车", "电动车", "汽车", "高铁"};
System.out.println(vehicle[0]);
// 输出 自行车
注意: 数组索引以0开头: [0]是第一个元素,[1]是第二个元素,以此类推。
更改数组元素
要更改特定元素的值,可使用索引号:
示例
vehicle[0] = "飞机";
示例
String[] vehicle = {"自行车", "电动车", "汽车", "高铁"};
vehicle[0] = "飞机";
System.out.println(vehicle[0]);
// 现在输出 飞机,而不是 自行车
数组长度
要知道一个数组有多少个元素,可以使用length
属性:
示例
String[] vehicle = {"自行车", "电动车", "汽车", "高铁"};
System.out.println(vehicle.length);
// 输出 4
遍历数组
可以使用for循环遍历数组,使用length
属性指定循环次数。
下面的示例,输出vehicle数组中的所有元素:
示例
String[] vehicle = {"自行车", "电动车", "汽车", "高铁"};
for (int i = 0; i < vehicle.length; i++) {
System.out.println(vehicle[i]);
}
使用For-Each遍历数组
还有一个for-each
循环,专门用于遍历数组中的元素:
语法
for (类型 变量 : 数组) {
...
}
下面的例子,使用for-each
循环,输出vehicle数组中的所有元素:
示例
String[] vehicle = {"自行车", "电动车", "汽车", "高铁"};
for (String i : vehicle) {
System.out.println(i);
}
上面的例子,可以这样理解:对于字符串数组vehicle中的每个元素i,打印出它的值。
比较for
循环和for-each
循环,可以看到for-each
循环更容易编写,不需要计数器(使用length
属性),可读性更好。
多维数组
多维数组是包含一个或多个数组的数组。
要创建一个二维数组,可以把数组作为数组元素:
示例
int[][] myNumbers = { {1, 2, 3, 4}, {5, 6, 7} };
myNumbers
现在是一个二维数组,包含了两个数组作为元素。
要访问二维数组myNumbers
中的元素,需指定两个索引: 一个索引用于数组,另一个索引用于数组中的元素。
下面的例子访问myNumbers
中,第二个数组(1)中的第三个元素(2):
示例
int[][] myNumbers = { {1, 2, 3, 4}, {5, 6, 7} };
int x = myNumbers[1][2];
System.out.println(x); // 输出 7
下面的例子,使用for
循环遍历二维数组中的元素:
示例
public class MyClass {
public static void main(String[] args) {
int[][] myNumbers = { {1, 2, 3, 4}, {5, 6, 7} };
for (int i = 0; i < myNumbers.length; ++i) {
for(int j = 0; j < myNumbers[i].length; ++j) {
System.out.println(myNumbers[i][j]);
}
}
}
}