Java里的数组是什么_Java一维数组基本用法

Java数组是固定长度、类型统一、内存连续的引用类型容器,本质为对象且存于堆中;声明推荐int[] arr,创建分动态(new int[6])和静态({"A","B"})两种;访问需校验下标0≤i

Java里的数组是一个固定长度、类型统一、内存连续的引用类型容器,用来批量存储同一种数据类型的多个值。

数组的核心特点

它不是基本类型,而是对象,即使装的是int、boolean这些基本类型,数组本身也存放在堆内存中。一旦创建完成,长度就不可更改;所有元素按顺序紧密排列,起始下标是0,最大合法下标是length - 1。比如int[] arr = new int[5];,能访问的下标只有0、1、2、3、4。

怎么声明和创建一维数组

推荐写法是把[]紧贴类型,明确表达“这是一个数组类型”:

  • int[] numbers; —— 声明一个int类型的一维数组变量(此时还没分配空间)
  • numbers = new int[6]; —— 动态初始化:分配6个int位置,每个默认为0
  • String[] names = {"Alice", "Bob", "Cindy"}; —— 静态初始化:直接赋值,长度由元素个数决定(这里是3)
  • double[] scores = new double[]{92.5, 87.0, 95.3}; —— 等价于上一行,只是显式写了new double[]

怎么安全地使用数组元素

访问或修改元素必须通过下标,但要时刻留意边界:

  • numbers[0] = 10; —— 给第一个位置赋值,合法
  • System.out.println(names[2]); —— 输出"Cindy",合法
  • scores[5] = 88.0; —— 如果scores长度是3,这行会抛出ArrayIndexOutOfBoundsException
  • System.out.println(arr.length)

    ;
    —— 所有一维数组都有length属性,不是方法,不带括号

常见默认值别忽略

new创建但未显式赋值时,各类型元素自动获得初始值:

  • 数值型(int/long/float/double等)→ 00.0
  • char → '\u0000'(空字符,不是空格)
  • boolean → false
  • 引用类型(String、自定义类等)→ null