Java 数组
在本教程中,您将学习如何使用Java数组,Java数组数组用于在单个变量中存储多个值,而不是为每个值声明单独的变量。要声明数组,请使用方括号定义变量类型:String[]cars;现在我们已经声明了一个包含字符串数组的变量。
Java 数组
数组用于在单个变量中存储多个值,而不是为每个值声明单独的变量。
要声明数组,请使用方括号定义变量类型:
String[] cars;
现在我们已经声明了一个包含字符串数组的变量。要向其中插入值,我们可以使用数组文字-将值放在逗号分隔的列表中,放在大括号内:
String[] cars = {"Volvo", "BMW", "Ford", "Mazda"};
要创建整数数组,你可以这样编写:
int[] myNum = {10, 20, 30, 40};
访问数组的元素
您可以通过引用索引号来访问数组元素。
此语句访问cars中第一个元素的值:
实例
String[] cars = {"Volvo", "BMW", "Ford", "Mazda"}; System.out.println(cars[0]); // 输出 Volvo
点击 "运行实例" 按钮查看在线实例
注释: 数组索引从0开始,[0]开头是第一个元素,[1] 是第二个元素。
更改数组元素
要更改特定元素的值,请参考索引编号:
实例
cars[0] = "Opel";
实例
String[] cars = {"Volvo", "BMW", "Ford", "Mazda"}; cars[0] = "Opel"; System.out.println(cars[0]); // 现在输出 Opel 而不是 Volvo
点击 "运行实例" 按钮查看在线实例
数组长度
要了解一个数组有多少个元素,请使用length
属性:
实例
String[] cars = {"Volvo", "BMW", "Ford", "Mazda"}; System.out.println(cars.length); // 输出 4
点击 "运行实例" 按钮查看在线实例
使用 For 循环遍历数组
可以使用for
循环遍历数组元素,并使用Length
属性指定循环应运行的次数。
以下示例输出 cars 数组中的所有元素:
实例
String[] cars = {"Volvo", "BMW", "Ford", "Mazda"}; for (int i = 0; i < cars.length; i++) { System.out.println(cars[i]); }
点击 "运行实例" 按钮查看在线实例
使用 For-Each 循环遍历数组
还有一个"for-each"循环,专门用于循环数组中的元素:
语法
for (type variable : arrayname) { ... }
以下示例使用for-each
遍历循环输出cars数组中的所有元素:
实例
String[] cars = {"Volvo", "BMW", "Ford", "Mazda"}; for (String i : cars) { System.out.println(i); }
点击 "运行实例" 按钮查看在线实例
上面的例子可以这样理解: 打印cars数组中的每个字符串元素 (索引为 i)的索引值。
如果比较for
循环和for-each
循环,您将看到for-each
方法更容易编写,它不需要计数器(使用Length
属性),而且可读性更强。
多维数组
多维数组是包含一个或多个数组的数组。
要创建二维数组,请将每个数组添加到其自己的花括号集中:
实例
int[][] myNumbers = { {1, 2, 3, 4}, {5, 6, 7} };
myNumbers 现在是一个包含两个数组元素的数组。
要访问myNumbers数组的元素,请指定两个索引:一个用于数组,另一个用于该数组内的元素。此示例访问MyNumber的第二个数组(1)中的第三个元素(2):
实例
int[][] myNumbers = { {1, 2, 3, 4}, {5, 6, 7} }; int x = myNumbers[1][2]; System.out.println(x); // 输出 7
点击 "运行实例" 按钮查看在线实例
我们还可以在另一个for loop
循环中使用for loop
循环来获取二维数组的元素(我们仍然必须指向两个索引):
实例
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]); }
} } }
点击 "运行实例" 按钮查看在线实例