在刚学习Java的过程中我们会遇到这么一个问题:求出1-100中偶数的和?
这也是一道经典的Java的面试题,对于上面的问题,新手肯定会想到for循环,但这里我给出三种解决方案,每种方案各有不同。
示例代码:
import java.util.stream.IntStream;
public class Hello {
public static void main(String[] args) {
// 求出1-100中偶数的和
// 方案一:for循环
int sum = 0;
for (int i = 1; i < 101; i++) {
if (i % 2 == 0) {
sum = sum + i;
}
}
System.out.println(sum);
// 方案二:while循环
int t = 1;
int sum1 = 0;
while (t < 101){
if (t % 2 == 0){
sum1 += t;
}
t += 1;
}
System.out.println(sum1);
// 方案三:lambda表达式
long count = IntStream.rangeClosed(1,100)//生成[1,100]数字
.filter(a -> a % 2 == 0)//过滤出偶数
.sum();//求和
System.out.println(count);
}
}
运行结果:
2550
2550
2550
解释一下方案三:首先声明一个IntStream数值流,在通过rangeClosed(1,100)方法生成1到100的数字,然后对这些数字进行过滤,通过取模运算来过滤出偶数,最后通过sum求和,将所有的偶数求和赋值给count。
题目虽然很简单,但方案三的代码写的很新颖,简洁,生动,活泼,有内涵。
以上内容仅供参考学习,如有侵权请联系我删除!
如果这篇文章对您有帮助,左下角的大拇指就是对博主最大的鼓励。
您的鼓励就是博主最大的动力!