Java一维数组需先声明(如int[] arr)再初始化(静态{"a"}或动态new int[3]),否则空指针;遍历用传统for、增强for或Stream。

Java 中一维数组的声明、初始化和遍历是基础但关键的操作,掌握清楚能避免常见空指针或越界错误。
声明一维数组
声明只是定义数组变量的类型和名称,不分配内存。语法有两种等效写法:
-
类型[] 数组名; —— 推荐,语义更清晰(如
int[] numbers;) -
类型 数组名[]; —— C 风格,不推荐用于新代码(如
int numbers[];)
此时 numbers 是 null,不能直接使用元素,否则抛 NullPointerException。
初始化一维数组
初始化分两种方式:静态初始化(编译时确定元素)和动态初始化(运行时指定长度)。
立即学习“Java免费学习笔记(深入)”;
-
静态初始化:声明同时赋值,系统自动推断长度
String[] fruits = {"apple", "banana", "orange"}; -
动态初始化:先声明再用
new分配空间,元素为默认值(如 int 为 0,String 为 null)double[] scores = new double[5]; // 长度为 5,全为 0.0 - 声明与初始化分离时注意:必须在使用前完成初始化,否则访问元素会报错
遍历一维数组
常用三种方式,按场景选择:
-
传统 for 循环:适合需要下标或顺序处理逻辑
for (int i = 0; i -
增强 for 循环(for-each):简洁安全,无需关心下标和边界
for (int num : numbers) { System.out.println(num); }
注意:无法直接修改原数组元素(修改的是循环变量副本),也不能获取下标 -
Java 8+ Stream:函数式风格,适合过滤、映射等操作
Arrays.stream(arr).forEach(System.out::println);
注意事项
数组长度固定,创建后不可变;length 是字段不是方法;访问索引范围是 0 到 arr.length - 1,越界会抛 ArrayIndexOutOfBoundsException。


















