java数组中元素求和的实例

最常用方式是循环遍历加累加。1. 基础for循环:声明sum=0,遍历数组每个元素累加到sum,适用于所有一维数组,逻辑清晰易掌握。

Java数组中元素求和,最常用也最直接的方式是用循环遍历加累加。下面给出几种典型、实用的写法,覆盖基础场景和常见变体。

基础for循环求和(推荐初学者掌握)

适用于所有一维数组,逻辑清晰,易于理解与调试。

  • 声明一个变量(如sum)初始化为0
  • for (int i = 0; i 遍历每个索引
  • 每次把arr[i]加到sum

示例:

int[] nums = {3, 7, 2, 9, 1};
int sum = 0;
for (int i = 0; i < nums.length; i++) {
    sum += nums[i];
}
System.out.println("总和:" + sum); // 输出:22

增强for循环(for-each)更简洁

不需要关心下标,代码更简短,适合只读遍历求和的场景。

  • 语法:for (int num : nums)
  • 每次迭代直接拿到当前元素值,避免索引越界风险

示例:

int[] nums = {3, 7, 2, 9, 1};
int sum = 0;
for (int num : nums) {
    sum += num;
}
System.out.println("总和:" + sum); // 输出:22

使用IntStream(Java 8+,适合函数式风格)

一行代码搞定,适合处理较大数组或配合其他流操作(如过滤后再求和)。

  • 调用Arrays.stream(nums).sum()
  • 注意:仅适用于基本类型数组(int[]double[]等),不支持引用类型数组

示例:

import java.util.Arrays;

int[] nums = {3, 7, 2, 9, 1};
int sum = Arrays.stream(nums).sum();
System.out.println("总和:" + sum); // 输出:22

处理边界情况的小提醒

实际开发中别忽略这些细节:

  • 空数组(length == 0)时,所有方法都返回0,无需额外判断
  • 数组元素为long或大数值时,用long sum = 0L避免整型溢出
  • 若数组含null(如Integer[]),用Stream需先过滤:Arrays.stream(arr).filter(Objects::nonNull).mapToInt(Integer::intValue).sum()

基本上就这些。选哪种方式,看你的JDK版本、代码风格偏好和具体需求。日常开发中,for-each最常用;学基础时,传统for循环更利于理解过程。