数组元素的总和是指数组中所有元素(或数字)的总和。数组元素可以是整数(int)或十进制数字(floatdouble)。

方法1:使用for循环
这是一种传统且最常用的方法,其中使用for循环来迭代数组。
在每次迭代中,将当前数组元素添加到一个保存数组元素总和的变量中。
在循环开始之前,此变量被初始化为0。例如

​
public class ArraySumCalculator {public static void main(String[] args) {int[] array = { 1, 34, 67, 23, -2, 18 };// variable to hold sum of array elementsint sum = 0;// iterate using a for loopfor (int loopCounter = 0; loopCounter < array.length; loopCounter++) {// get current array elementint element = array[loopCounter];// add element to sumsum += element;}System.out.println("Sum of array elements is: " + sum);}
}​

sum += element 是的简写 sum = sum + element

上面的程序打印

数组元素的总和是:141

for该程序中的for-each循环也可以用如下所示的循环代替。

     for (int element : array) {sum += element;}

方法2:在Java 8使用Arrays.stream
此方法使用流概念在Java 8.呼叫引入stream上方法java.util.Arrays类供给它的阵列作为参数。此方法返回数组元素流。在此流上
调用sum方法将提供数组中元素的总和。例如

import java.util.Arrays;
import java.util.stream.IntStream;public class ArraySumCalculator3 {public static void main(String[] args) {int[] array = { 1, 34, 67, 23, -2, 18 };// get stream of elementsIntStream stream = Arrays.stream(array);// add the elements in streamint sum = stream.sum();System.out.println("Sum of array elements is: " + sum);}
}

请注意,调用stream方法返回a java.util.stream.IntStream,它是整数值的流。这是因为提供给stream方法的数组是整数数组。
如果数组的类型为double,则流将为java.util.stream.DoubleStream
上面的代码,也可以将其简化为以下一行。

int sum = Arrays.stream(array).sum();

该程序的输出与上一个相同。

方法3:在Java 8中使用IntStream
Java 8引入了Java 8java.util.stream.IntStream,这是一个元素序列。它有一个of以数组为参数的方法,并返回数组元素的流。返回的流上的
调用sum方法提供数组元素的总和。例如

import java.util.stream.IntStream;public class ArraySumCalculator5 {public static void main(String[] args) {int[] array = { 1, 34, 67, 23, -2, 18 };// get stream of elementsIntStream stream = IntStream.of(array);// add the elements in streamint sum = stream.sum();System.out.println("Sum of array elements is: " + sum);}
}

上面的代码可以简化为如下所示的单行代码。

int sum = IntStream.of(array).sum();

方法4:对流使用归约运算
此方法还使用来查找数组元素的总和。一旦获得流,就可以对其应用缩减。
javadocs

甲 减少 操作通过组合操作的反复应用,例如找到一组数字的总和或最大值,或累积的元素到一个列表中需要输入元件和将它们组合的一个序列到单个汇总结果。

java.util.stream.IntStream有一个带有reduce2个参数的方法。首先是所需操作的标识元素。对于加法运算,标识为0。
第二个参数是类型的参数,java.util.function.InitBinaryOperator它是一个函数接口,该函数接口具有applyAsInt将运算应用于所提供的操作数的方法。
可以使用Lambda表达式提供对此方法的实现。例子,

import java.util.stream.IntStream;public class ArraySumCalculator7 {public static void main(String[] args) {int[] array = { 1, 34, 67, 23, -2, 18 };// get stream of elementsIntStream stream = IntStream.of(array);// add the elements in stream using reductionint sum = stream.reduce(0, (element1, element2) -> element1 + element2);System.out.println("Sum of array elements is: " + sum);}
}

注意reduce方法的参数。
第一个是0,这是要添加的标识。
第二个是lambda表达式,它表示“对提供的元素应用加法运算”
此方法将遍历所有数组元素并执行这些元素的添加。
以上方法可以简化为单线。

int sum = IntStream.of(array).reduce(0, (element1, element2) -> element1 + element2);

Java计算数组中元素的总和相关推荐

  1. 计算数组中元素的加权平均值 numpy.average()

    [小白从小学Python.C.Java] [计算机等级考试+500强双证书] [Python-数据分析] 计算数组中元素的加权平均值 numpy.average() [太阳]选择题 对于以下pytho ...

  2. 汇编语言LENGTHOF运算符:计算数组中元素的个数

    LENGTHOF 运算符计算数组中元素的个数,元素个数是由数组标号同一行出现的数值来定义的.示例如下: .data byte1 BYTE 10,20,30 array1 WORD 30 DUP (?) ...

  3. 求出数组中元素的总和_数组中所有元素的总和可被给定数K整除

    求出数组中元素的总和 This program will help to find out the sum of elements in an array which is divisible by ...

  4. java查询数组中元素的索引

    java查询数组中元素的索引 /*** java查询数组中元素的索引*/ public class Test03 {public static void main(String[] args) {in ...

  5. 按如下函数原型编程从键盘输入一个m行n列的二维数组,然后计算数组中元素的最大值及其所在的行列下标值。其中,m和n的值由用户键盘输入。已知m和n的值都不超过10。

    题目:按如下函数原型编程从键盘输入一个m行n列的二维数组,然后计算数组中元素的最大值及其所在的行列下标值.其中,m和n的值由用户键盘输入.已知m和n的值都不超过10. void InputArray( ...

  6. C语言数组练习-计算数组中元素的最大值及其所在的行列下标值

    要求:按如下函数原型编程从键盘输入一个m行n列的二维数组,然后计算数组中元素的最大值及其所在的行列下标值.其中m和n的值由用户键盘输入.已知m和n的值都不超过10. ----------------- ...

  7. java:数组中元素的查询

    数组的查询 关键词 相关说明 源码 运行结果 关键词 binarySearch(这里放要查找的数组,这里放要搜索的对象); binarySearch(a,b,c,d); a:要被查找元素的数组 b:数 ...

  8. 任务描述题目描述:按如下函数原型编程从键盘输入一个m行n列的二维数组,然后计算数组中元素的最大值及其所在的行列下标值。其中m和n的值由用户键盘输入。已知m和n的值都不超过10。

    #include<stdio.h>//头文件 int main(void) {/*********Begin*********/int m,n;//定义需要的符号 printf(" ...

  9. PHP数组函数 count (计算数组中的元素数目)

    在PHP中,数组函数 count () 用来计算数组中的元素数目.     函数语法: count ( mixed $array_or_countable [, int $mode = COUNT_N ...

最新文章

  1. HTML meta标签总结
  2. php 抽象类 继承,PHP 抽象类继承抽象类时的注意点
  3. c3p0、dbcp、druid三大连接池对比
  4. Sony如何启动微型计算机,索尼笔记本怎么进入bios 索尼VAIO笔记本进入bios技巧
  5. 面向Java程序员的20大Spring REST面试问题答案
  6. sql 链接到oracle数据库,通过MSSQL连接服务器连接至Oracle数据库
  7. html计算器_学习HTML、CSS和JavaScript的最佳方法是什么?
  8. Shiro 实战教程
  9. 设计灵感素材网站:美工设计者必备
  10. Sublime Text 3 - 设置自动换行
  11. php json函数参数传递,JSON作为函数参数时应该如何使用
  12. [转载] 【全面总结】Tensorflow 2.0+与Keras的联系与应用(含model详解)
  13. 基于SpringBoot的宠物医院管理系统
  14. safari windows版本_iPhone和Windows同步文件,这7个技巧让你的效率成倍增加
  15. 在EXCEL表格中如何快速换行
  16. oracle返回当年的第一天,oracle 获取 当年第一天 当月第一天
  17. 桌面路径改到D盘的目录下
  18. PTA 一维数组 7-3 删除指定数据
  19. 使用UIDataDetectorTypes自动检测电话、网址和邮箱
  20. Alphapose论文代码详解

热门文章

  1. 从Spring源码探究DI属性注入流程
  2. Transformer详解(附代码)
  3. 用html完成编辑日程,10款jQuery实现对简洁大气的日程安排日历
  4. 云师大计算机调剂,云南师范大学2020考研调剂信息(二)
  5. MVG(second)学习笔记- 对极几何和基础矩阵F,本质矩阵E
  6. 电脑上所有文件都打不开的解决方法和过程
  7. 闭环控制[Python]
  8. mysql 自动备份数据库数据到另一台电脑上(u盘或者移动硬盘上)
  9. 逐步回归matlab函数,逐步回归matlab程序
  10. 服务端渲染VUE_SSR