短路求值实现逻辑

为了实现逻辑和返回真实,两个操作数必须评估为真。如果第一个操作数计算为错误的,逻辑的,知道它必须返回错误,无论第二个操作数是否计算为真或假。在这种情况下,逻辑和运算符将继续进行,并立即返回错误,甚至没有评估第二个操作数!这被称为短路评估,它主要是为了优化的目的。
同样,如果第一个操作数为逻辑或是真的,那么整个或条件必须评估为真,第二个操作数不需要被评估。
短路评估提出了另一个机会,以显示为什么运营商,导致的副作用不应该被使用在复合表达式。考虑下面的代码片断:


如果(X = = = 1 & Y + + = = 2)
做某事
如果X不等于1,有条件的必须是假的,所以Y + +永远不会得到评价!因此,Y只会递增,如果x的值为1,这可能不是程序员想要的!
与逻辑或运算,新程序员有时混淆逻辑与运算符(&&)与按位AND运算符(&)。
混合和ORs
混合逻辑和逻辑或运算符在相同的表达往往是不能避免的,但它是一个充满潜在危险的区域。
许多程序员认为,逻辑和逻辑或具有相同的优先级(或忘记,他们不这样做),就像加法/减法和乘法/除法做的一样。然而,逻辑与逻辑或具有更高的优先级,因此逻辑和运营商将评估在逻辑或运算符(除非他们已经括号)。
因此,新的程序员会经常写表达式如value1 value2和3 | |。因为逻辑和具有更高的优先级&#
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值