传统for循环是Java中遍历数组最常用、最直观的方式,适用于需索引的场景;注意array.length是属性而非方法,下标范围为0到array.length-1,越界将抛ArrayIndexOutOfBoundsException。
用 for 循环遍历数组最直接
Java 中最常用、最直观的方式就是传统 for 循环,尤其适合需要索引的场景(比如修改元素、比较相邻项)。
注意点:array.length 是属性不是方法,别加括号;下标从 0 开始,上限是 array.length - 1,越界会抛 ArrayIndexOutOfBoundsException。
示例:
int[] nums = {1, 2, 3};
for (int i = 0; i < nums.length; i++) {
System.out.println(nums[i]);
}
增强 for 循环(for-each)适合只读访问
语法简洁,底层用迭代器或索引实现,但隐藏了下标——这意味着你无法在遍历时修改原数组元素(改的是循环变量副本),也不能跳过或回退。
立即学习“Java免费学习笔记(深入)”;
常见误用:想边遍历边删除数组元素,这是无效的;数组长度固定,for-each 不支持动态调整。
示例:
String[] names = {"Alice", "Bob"};
for (String name : names) {
System.out.println(name.toUpperCase()); // 只能读/用,不能通过 name 修改 names[i]
}
用 Stream API 遍历适合函数式处理
Java 8+ 提供 Arrays.stream(),适合链式操作(过滤、映射、聚合),但要注意:基本类型数组(如 int[])会自动装箱为 Integer,有性能开销;若只需简单遍历,反而比传统 for 慢。