Java数组是存储同类型数据的固定长度容器,在实际开发中经常需要对数组内的元素进行遍历查看或者修改操作,掌握正确的遍历和修改方法能提升代码的效率和可读性。

Java数组遍历的常用方法
1. 普通for循环遍历
普通for循环是最基础的数组遍历方式,通过数组的索引来访问每一个元素,适合需要同时获取元素索引和值的场景。
public class ArrayTraverseDemo {
public static void main(String[] args) {
int[] numArray = {10, 20, 30, 40, 50};
// 普通for循环遍历数组
for (int i = 0; i < numArray.length; i++) {
System.out.println("索引" + i + "对应的元素值是:" + numArray[i]);
}
}
}
2. 增强for循环(for-each)遍历
增强for循环是Java 5之后引入的语法,不需要手动维护索引,语法更简洁,适合只需要获取元素值不需要修改原数组的场景。
public class ArrayForEachDemo {
public static void main(String[] args) {
String[] strArray = {"Java", "Python", "C++", "Go"};
// 增强for循环遍历数组
for (String item : strArray) {
System.out.println("当前元素值:" + item);
}
}
}
3. 利用Arrays类的toString方法快速查看
如果只是需要快速查看数组所有元素的内容,不需要逐个处理元素,可以使用java.util.Arrays类的toString方法直接输出数组内容。
import java.util.Arrays;
public class ArrayToStringDemo {
public static void main(String[] args) {
double[] scoreArray = {88.5, 92.0, 76.5, 95.5};
// 直接输出数组所有元素
System.out.println("数组所有元素:" + Arrays.toString(scoreArray));
}
}
Java数组元素的修改方式
1. 通过索引直接修改元素
数组是引用类型,元素可以直接通过索引赋值修改,修改后原数组的对应位置值会直接发生变化。
public class ArrayModifyDemo {
public static void main(String[] args) {
int[] ageArray = {18, 20, 22, 25};
System.out.println("修改前的第三个元素:" + ageArray[2]);
// 通过索引修改第三个元素(索引从0开始)
ageArray[2] = 23;
System.out.println("修改后的第三个元素:" + ageArray[2]);
}
}
2. 遍历过程中修改元素
如果需要根据一定规则批量修改数组元素,可以结合遍历逻辑在循环中完成修改,普通for循环可以直接修改原数组,增强for循环修改的是临时变量不会影响原数组。
public class ArrayBatchModifyDemo {
public static void main(String[] args) {
int[] numArray = {1, 2, 3, 4, 5};
// 普通for循环批量修改元素,每个元素乘以2
for (int i = 0; i < numArray.length; i++) {
numArray[i] = numArray[i] * 2;
}
// 输出修改后的数组
for (int item : numArray) {
System.out.print(item + " ");
}
}
}
数组操作注意事项
- 数组的长度是固定的,创建后无法动态扩容,修改元素时不能超出数组的索引范围,否则会抛出
ArrayIndexOutOfBoundsException异常。 - 增强for循环遍历时,修改循环内的临时变量不会影响到原数组的元素值,如果需要修改原数组必须使用普通for循环通过索引操作。
- 如果是对象类型的数组,修改元素时如果是修改对象的属性,即使使用增强for循环也会生效,因为临时变量和原数组元素指向的是同一个对象引用。
注意:数组是引用类型,当把数组赋值给另一个变量时,两个变量指向的是同一个数组对象,修改其中一个变量的数组元素会影响到另一个变量。
常见操作对比
以下是不同遍历和修改方式的特点对比:
| 操作方式 | 适用场景 | 能否修改原数组 |
|---|---|---|
| 普通for循环 | 需要索引、批量修改元素 | 能 |
| 增强for循环 | 仅需读取元素、不需要索引 | 不能直接修改原数组元素值 |
| Arrays.toString() | 快速查看数组内容 | 不能 |
Java数组数组遍历数组修改for_each循环数组索引修改时间:2026-07-23 08:00:23