Java 数组

5 阅读2分钟

一、数组的基础定义

1. 本质

数组是相同类型数据的有序集合,每个元素通过「索引(下标)」访问,索引从 0 开始。

2. 核心特点

  • 长度固定:数组一旦创建,长度不可修改;
  • 类型统一:所有元素必须是同一数据类型(int/double/String 等);
  • 索引范围:合法索引为 0 ~ 数组.length - 1(如长度为 4 的数组,索引是 0/1/2/3)。

二、数组的完整操作流程

表格

步骤语法示例说明
声明int[] arr;定义数组引用,未分配内存
创建arr = new int[4];分配内存,元素默认值(int 默认 0)
赋值arr[0] = 15; arr[1] = 91;通过下标为元素赋值
访问System.out.println(arr[2]);通过下标读取元素值

✅ 简化写法(声明 + 创建 + 赋值一步完成):

java

运行

int[] arr = {15, 91, 47, 62}; // 最常用的快捷方式

三、数组的三种遍历方式(核心重点)

表格

遍历方式代码示例优点缺点适用场景
逐个输出System.out.println(arr[0]);``System.out.println(arr[1]);直观易懂代码冗余、不灵活极短数组 / 教学演示
普通 for 循环for (int i = 0; i < arr.length; i++) {``System.out.println(arr[i]);``}可操作下标、灵活需手动管理索引,易越界需要修改元素 / 操作下标
增强 for 循环(for-each)for (int num : arr) {``System.out.println(num);``}简洁、不易出错无法获取下标、仅能读取仅需遍历读取元素

四、常见错误与避坑

1. 数组索引越界异常

  • 错误提示:java.lang.ArrayIndexOutOfBoundsException
  • 原因:访问了超出 0 ~ 数组.length - 1 范围的索引(如长度 4 的数组访问 arr [4]);
  • 解决:用 arr.length 代替固定数字,确保索引不越界。

2. 新手易错点

  • 混淆索引:误以为索引从 1 开始(如把 arr [4] 当成第 4 个元素);
  • 长度误用:把arr.length当成最大索引(正确是arr.length - 1)。

五、完整示例代码(可直接运行)

java

运行

public class ArrayDemo {
    public static void main(String[] args) {
        // 1. 声明+创建+赋值
        int[] arr = {15, 91, 47, 62};
        
        // 2. 遍历方式1:逐个输出
        System.out.println("=== 逐个输出 ===");
        System.out.println(arr[0]);
        System.out.println(arr[1]);
        System.out.println(arr[2]);
        System.out.println(arr[3]);
        
        // 3. 遍历方式2:普通for循环
        System.out.println("\n=== 普通for循环 ===");
        for (int i = 0; i < arr.length; i++) {
            System.out.println("索引" + i + ":" + arr[i]);
        }
        
        // 4. 遍历方式3:增强for循环
        System.out.println("\n=== 增强for循环 ===");
        for (int num : arr) {
            System.out.println(num);
        }
    }
}

总结

  1. 数组核心规则:长度固定、索引从 0 开始、类型统一,牢记 0 ~ arr.length - 1 的索引范围;
  2. 遍历选择:需操作下标用普通 for 循环,仅读取元素用增强 for 循环,避免逐个输出的冗余写法;
  3. 避坑关键:用 arr.length 代替固定数字,从根源避免索引越界异常。