当前位置:首页 > 后端开发 > 正文

Java数组如何表示?

Java中数组的表示方式:使用方括号声明(如 int[] arr或 int arr[]),通过 new关键字初始化(如 new int[5]),索引从0开始访问元素(如 arr[0]),数组长度固定,存储相同类型元素。

在Java中,数组是一种基础数据结构,用于存储固定大小的同类型元素,它通过连续内存分配实现高效访问,是处理批量数据的核心工具,以下是详细解析:


一维数组的表示

声明数组

// 语法:数据类型[] 数组名; int[] numbers; // 推荐写法(清晰表明数组类型) String names[]; // 兼容C风格的写法(不推荐)

创建数组

使用 new 关键字分配内存(数组长度固定):

numbers = new int[5]; // 创建长度为5的int数组(默认值:0) names = new String[3]; // 创建长度为3的String数组(默认值:null)

初始化数组

静态初始化(声明时直接赋值):

Java数组如何表示? 第1张

动态初始化

int[] scores = new int[3]; scores[0] = 90; // 索引从0开始 scores[1] = 85; scores[2] = 78;


多维数组的表示

二维数组(矩阵)

// 声明与创建 int[][] matrix = new int[3][3]; // 3行3列 // 静态初始化 int[][] grid = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} }; // 访问元素 System.out.println(grid[1][2]); // 输出:6(第2行第3列)

不规则数组

每行长度可不同:

Java数组如何表示? 第2张

关键特性与操作

  1. 长度获取

    使用 length 属性(非方法):

  2. 遍历数组

    // for循环 for (int i = 0; i < primes.length; i++) { System.out.println(primes[i]); } // 增强for循环(只读) for (String color : colors) { System.out.println(color); }
  3. 数组复制

    • System.arraycopy():高效复制 int[] source = {1, 2, 3}; int[] dest = new int[3]; System.arraycopy(source, 0, dest, 0, source.length);
    • Arrays.copyOf():简化操作 int[] copy = Arrays.copyOf(source, source.length);
    • 常见异常

      • ArrayIndexOutOfBoundsException:索引越界(如访问 arr[5] 但数组长度为4)
      • NullPointerException:未初始化数组直接访问
      • 注意事项

        1. 定长限制

          数组创建后长度不可变,需动态扩容时建议用 ArrayList。

        2. 默认值规则
          • 数值类型(int, double等):0
          • 布尔类型(boolean):false
          • 引用类型(String, 对象等):null
        3. 内存效率

          数组内存连续,访问时间复杂度为 O(1),适合高频随机访问场景。


        工具类推荐

        java.util.Arrays 提供常用操作:

        import java.util.Arrays; // 排序 Arrays.sort(primes); // 二分查找(需先排序) int index = Arrays.binarySearch(primes, 5); // 转换为字符串 System.out.println(Arrays.toString(primes)); // 输出:[2, 3, 5, 7, 11]


        Java数组通过索引高效访问元素,是处理有序数据的基石。

        • 一维数组:数据类型[] 变量名 = {值1, 值2, ...};
        • 多维数组:数据类型[][] 变量名 = new int[行][列];
        • 核心操作:长度用 length,遍历用循环,工具类选 Arrays。

        引用说明:本文内容参考Oracle官方Java文档(Arrays in Java)及《Java核心技术·卷I》第10版,实践代码基于Java 17语法验证。

        Java数组如何表示? 第3张

0