求1+2+3+...+n

本文深入探讨了短路求值的概念及其在Java中的具体应用,通过一个递归求和的例子,详细解释了如何利用&&和||操作符的短路特性来优化代码执行效率。

1.题目

在这里插入图片描述

2.解法

利用的是短路原理

作为"&&“和”||"操作符的操作数表达式,这些表达式在进行求值时,只要最终的结果已经可以确定是真或假,求值过程便告终止,这称之为短路求值(short-circuit evaluation)。
假如expr1和expr2都是表达式,在下面这个逻辑表达式的求值过程中:
1.expr1的值为0:
expr1 && expr2
expr2将不会进行求值,因为整个逻辑表达式的值已经可以确定为0。
2.expr1的值为1:
expr1 || expr2
expr2将不会进行求值,因为整个逻辑表达式的值已经可以确定为1。

public class Solution {
    
    public int Sum_Solution(int n) {
        int sum = n;
        // && 两边成立才成立,第一个不成立,便不再判断
        boolean bl = (n > 1) && (sum += Sum_Solution(n-1)) > 0;
        return sum;
    }
}
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值