Java中求出1-100中偶数的和,你会怎么写呢?

在刚学习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。

题目虽然很简单,但方案三的代码写的很新颖,简洁,生动,活泼,有内涵。


以上内容仅供参考学习,如有侵权请联系我删除!
如果这篇文章对您有帮助,左下角的大拇指就是对博主最大的鼓励。
您的鼓励就是博主最大的动力!

发布了120 篇原创文章 · 获赞 11 · 访问量 6950

猜你喜欢

转载自blog.csdn.net/weixin_45366499/article/details/105391419