Java一维数组核心是声明、初始化、访问三步:声明推荐int[] scores形式,初始化分静态({1,2})、动态(new int[5])和分步,访问下标从0开始且不可越界。

Java 一维数组的核心就三步:声明变量、分配空间(初始化)、访问或修改元素。它不是复杂结构,而是组织同类型数据最直接的方式,用对了能省掉大量重复代码。
怎么声明才清晰又规范
声明是告诉 Java“我要一个装某种数据的容器”,关键在写法和命名:
- 推荐写法:int[] scores; 或 String[] names; —— 中括号紧跟类型,语义明确,“int[]”本身就是一种引用类型
- 避免写法:int scores[]; —— 看起来像声明 int 变量,容易误解,也不符合 Java 社区主流风格
- 数组名遵循驼峰命名,比如 studentGrades、productPrices,不建议用 arr、a 等模糊名称
三种初始化方式,按需选择
声明后必须初始化才能使用。选哪种,取决于你手头有没有现成的数据:
-
静态初始化(已知全部值):
→ int[] arr = {85, 92, 78};(系统自动算出长度为 3)
→ 或 int[] arr = new int[]{10, 20, 30};(显式 new,适合传参等场景) -
动态初始化(只知长度,值待填):
→ double[] temps = new double[7];(创建 7 个元素,每个默认为 0.0)
→ 后续可逐个赋值:temps[0] = 23.5; temps[1] = 24.1; -
先声明后创建再赋值:
→ boolean[] flags;
flags = new boolean[4];
→ 这种分步写法适合逻辑较复杂、初始化时机不确定的情况
访问与遍历:下标从 0 开始,别越界
数组靠下标定位元素,这是新手最容易出错的地方:
立即学习“Java免费学习笔记(深入)”;
- 第 1 个元素是 arr[0],第 5 个是 arr[4] —— 下标永远从 0 起算
- 最大合法下标是 arr.length - 1;写成 arr[arr.length] 会直接抛 ArrayIndexOutOfBoundsException
- 常用遍历方式:
→ 普通 for 循环:for (int i = 0; i
→ 增强 for(适合只读):for (int x : arr) { System.out.println(x); }
长度固定、默认值、内存特点要心里有数
数组一旦创建,就不能增删元素,这是它和 ArrayList 的本质区别:
- length 是属性,不是方法 —— 写 arr.length ✅,写 arr.length() ❌(编译不过)
- 未赋值的元素有默认值:int 类型是 0,double 是 0.0,boolean 是 false,String 等引用类型是 null
- 数组本身是对象,在堆内存中连续分配空间 —— 所以访问快、顺序性强,但大小不可变



















