逻辑与和逻辑或的执行顺序

背景

开发过程中,我们经常用的最多的就是条件表达式了,我们知道&&表示逻辑与,代表两个条件都必须满足才会执行。而||代表逻辑逻辑或,即表示两种只有一个满足即可。

关于逻辑与和或的执行顺序,因为有很长一段时间没写代码了,今天在写&&和||逻辑时突然有点蒙圈,关于其执行顺序稍微有不确定。

逻辑与的顺序

当用 if (A && B ) { // 代码执行 } 这一样代码时,会先执行逻辑A,如果A是真的话,此时if判断逻辑成立,不会执行逻辑B,直接进入代码区执行。如果A是假,那会继续执行判断B,如果B是真,此时,此时if判断逻辑成立并进入代码区执行。

这样的判断逻辑,应该是我们经常会用到的,可以100%确认,其执行顺序是从左到右,左边只要一成立,右边不会执行。

逻辑或的顺序

那么对于逻辑或的执行顺序呢是否也一样,因为逻辑或成立只要两者其中一个是真就if判断成立,所以此时我有点不是很确信它的执行逻辑是否也是从左到右,一旦成立就右边不执行。

我们直接用代码来验证下吧。(以下是用OC方法验证的,像其他语言如Java、JavaScript、C等逻辑都是一样的)

- (void)demo1{
    if ([self function1] || [self function2]) {
        NSLog(@"逻辑1");
    } else {
        NSLog(@"逻辑2");
    }
}

- (BOOL)function1{
    NSLog(@"%s",__FUNCTION__);
    return YES;
}

- (BOOL)function2{
    NSLog(@"%s",__FUNCTION__);
    return NO;
}

看下控制器Log输出

2022-04-02 21:38:57.445827+0800 test[1321:2488493] -[ViewController function1]
2022-04-02 21:38:57.445984+0800 test[1321:2488493] 逻辑1

结论

很明显,||逻辑或和逻辑与的执行顺序也是一样的,从左到由执行,一旦左边成立,右边不会执行判断。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值