![如何对 int[] 数组中的所有整数求和并返回总和](https://img.php.cn/upload/article/001/246/273/176699823252341.jpg)
本文介绍如何编写一个高效、健壮的 java 方法,对传入的 int[] 数组进行遍历求和,正确处理空数组、负数及边界情况,并返回整型总和。
在 Java 中,对整型数组求和是一个基础但高频的操作。核心逻辑是遍历数组每个元素,并将它们累加到一个初始值为 0 的变量中。以下是一个简洁、可读性强且符合生产规范的实现:
public static int calculateSum(int[] values) {
if (values == null) {
throw new IllegalArgumentException("Array cannot be null");
}
int result = 0;
for (int i = 0; i < values.length; i++) {
result += values[i];
}
return result;
}该方法严格满足题目要求:
- calculateSum(new int[]{1, 2, 3}) → 返回 6
- calculateSum(new int[]{-7, 7, 3}) → 返回 3
- calculateSum(new int[]{}) → 返回 0(空数组长度为 0,循环不执行,result 保持为 0)
✅ 注意事项:
- 原题示例代码中硬编码了 {10, 20, 30, 40} 并返回 Integer.MIN_VALUE,这与参数 values 完全无关,属于逻辑错误,必须移除;
- 建议增加 null 检查(如上所示),避免 NullPointerException —— 这在实际工程中是良好实践;
- 若需更高可读性或函数式风格,也可使用 Arrays.stream(values).sum()(Java 8+),但需注意其对空数组同样返回 0,对 null 则抛出 NullPointerException,仍需前置校验。
总结:数组求和的本质是线性遍历与累加,关键在于正确初始化、安全访问、边界兼容。掌握此模式,可快速迁移至其他聚合操作(如求最大值、统计正数个数等)。










