数组的访问

数组的访问

通过 数组名[下标] 来访问具体的元素,通过 数组名.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 循环遍历数组,但无法在遍历中修改元素值,也无法获取下标。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注