Java数组求和需遍历累加,常用for、增强for和while循环:传统for适合需下标操作,声明sum=0后通过索引累加;增强for简洁但无下标;while需手动控制索引。

Java 中用循环语句实现数组求和,核心是遍历数组每个元素并累加到一个初始值为 0 的变量中。常用方式有 for 循环、增强 for 循环(for-each) 和 while 循环,下面分别说明用法和注意事项。
用传统 for 循环遍历索引求和
适合需要访问下标或对特定位置做判断的场景:
- 声明一个 int 类型的 sum 变量,初始值为 0
- 用 for(int i = 0; i
- 每次循环执行 sum += arr[i]
示例代码:
int[] nums = {3, 5, 2, 8};int sum = 0;
for (int i = 0; i sum += nums[i];
}
System.out.println(sum); // 输出 18
用增强 for 循环(for-each)简洁求和
更简洁安全,无需关心索引,避免越界错误,推荐日常使用:
立即学习“Java免费学习笔记(深入)”;
你接手一个需求时,是不是经常这样:"改一个小字段 → 结果把不相关的代码也改了"、"需求说得很模糊 → 做着做着发现跑偏了"、"数据库加个字段 → 上线才发现漏了数据兼容"、"做了个新功能 → 一个月后自己都忘了当时怎么设计的"、"写到一半被中断 → 再回来不知道从哪继续";这个 Skill 就是专门解决这些问题的。 它会自动探测你的项目环境(JDK、Spring Boot、ORM、数据库、前端框架),记在
- 语法:for (int num : nums) { sum += num; }
- 注意:不能在遍历时修改数组元素本身(但可以改 sum)
- 不适用于需要下标的操作(如只加偶数位元素)
示例代码:
int sum = 0;for (int num : nums) {
sum += num;
}
System.out.println(sum); // 同样输出 18
用 while 循环手动控制索引
灵活性高,适合复杂条件控制,但需手动维护索引变量:
- 先定义 int i = 0 和 sum = 0
- while(i
- 容易遗漏 i++ 导致死循环,需格外注意
示例代码:
int sum = 0, i = 0;while (i sum += nums[i];
i++;
}
System.out.println(sum); // 输出 18
补充说明
对于基本类型数组(如 int[]、double[]),以上方法都适用;若为 Integer[] 等包装类型数组,需注意 null 值,否则会抛出 NullPointerException。可加空值判断:
for (Integer num : intObjArray) {if (num != null) sum += num;
}
另外,Java 8+ 还可用 Stream API:Arrays.stream(nums).sum(),但本质仍是封装后的迭代,底层仍依赖循环逻辑。

















