数组的访问
通过 数组名[下标] 来访问具体的元素,通过 数组名.length 来获取数组的长度。
基本访问方式
int[] a = {1, 2, 3, 4};
System.out.println(a.length); // 输出数组长度:4
System.out.println(a[0]); // 访问第一个元素:1
a[1] = 9; // 修改第二个元素为 9Code language: JavaScript (javascript)
下标从
0开始,最大到数组长度 - 1。如果访问时下标超出范围,会抛出ArrayIndexOutOfBoundsException。
public static void main(String[] args) {
int[] a = {1, 2, 3, 4, 5, 6};
System.out.println(a.length); // 6
System.out.println(a[3]); // 4
a[1] = 200;
System.out.println(a[1]); // 200
// System.out.println(a[6]); // 报错:ArrayIndexOutOfBoundsException
}Code language: JavaScript (javascript)
练习一:使用 for 循环批量给数组赋值
public static void main(String[] args) {
int[] a = new int[100]; // 默认每个元素为 0
for (int i = 0; i < a.length; i++) {
a[i] = (int)(Math.random() * 1000 + 1); // 赋随机值 1~1000
}
}Code language: JavaScript (javascript)
练习二:遍历输出数组
for (int i = 0; i < a.length; i++) {
System.out.print(a[i] + "-");
}Code language: PHP (php)
练习三:倒序输出数组
for (int i = a.length - 1; i >= 0; i--) {
System.out.print(a[i] + "-");
}Code language: PHP (php)
完整示例代码
public static void main(String[] args) {
int[] a = new int[100]; // 默认是 0
// 批量赋值:生成 1~1000 的随机数
for (int i = 0; i < a.length; i++) {
a[i] = (int)(Math.random() * 1000 + 1);
}
// 正序遍历输出
for (int i = 0; i < a.length; i++) {
System.out.print(a[i] + "-");
}
System.out.println("");
// 倒序输出
for (int i = a.length - 1; i >= 0; i--) {
System.out.print(a[i] + "-");
}
}Code language: JavaScript (javascript)
注意事项
| 要点 | 说明 |
|---|---|
| 下标范围 | 0 到 length - 1,越界会抛异常 |
| 遍历推荐 | 使用 i < a.length 而非硬编码数字,避免越界 |
| 倒序遍历 | 从 a.length - 1 开始,到 i >= 0 结束 |
| 默认值 | new 出来的数组元素自动赋予默认值 |
提示:也可以用增强型
for循环遍历数组,但无法在遍历中修改元素值,也无法获取下标。
Previous: 数组的理解和数组的声明和初始化
Next: 数组的复制