Java中的运算符--短路运算

本文详细介绍了JAVA中的短路运算概念,包括短路与(&&)和短路或(||),并通过具体示例说明了它们的工作原理及应用场景。此外,还提供了一些实用的小技巧。

0 写在前面

JAVA中有两个短路运算,一个是短路与,一个是短路或。
所谓短路,就是当一个参与运算的操作数足以推断该表达式的值时,另一个操作数(可能是表达式)就不会执行。

1 介绍

短路与:&&
短路或:||
应用:

-------------------------------------------
两个:(逻辑1 && 逻辑2)
多个:(逻辑1 && 逻辑 2 &&  逻辑3 &&……)
-------------------------------------------
两个:(逻辑1 || 逻辑2)
多个:(逻辑1 || 逻辑 2 ||  逻辑3 ||……)
-------------------------------------------

2 举例

逻辑与、逻辑或都是自作向右计算。

2.1 逻辑与 &&

两边同时为true,则为true。
有一方为false,则为false。
左边为false,右边不执行,为false。
如果第一个操作数已经能够确定表达式为false,则自动停止,第二个就不再进行运算判断。
在这里插入图片描述
举例:

        int a = 3;
        int b = 3;

        System.out.println(a++ == 10 && ++b == 10);//false
        
        System.out.println(a);//4
        
        System.out.println(b);//3
    }

结果为false。
因为a++的运算为先使用a的值再自加,所以3==10的结果为false,那么第一个表达式为false时在短路与中,第二个表达式不执行;
没走到第二个表达式,那么b也就没运算,b得值还是3;

2.2 逻辑或 ||

两边同时为false,则为false。
有一方为true,则为true。
左边为true,右边不执行,为true。
如果第一个操作数已经能够确定表达式为true,则自动停止,第二个就不再进行运算判断。
在这里插入图片描述

        int x = 3;
        int y = 3;

        System.out.println(x++ == 3 || ++y==10);//true

        System.out.println(x);//4

        System.out.println(y);//3

结果为true。
因为x++的运算为先使用x的值再自加,所以3==3的结果为true,那么第一个表达式为true时在短路或中,第二个表达式不执行;
没走到第二个表达式,那么y也就没运算,y得值还是3;

3 小技巧

使用逻辑运算可以避免一些小错误,例如在java中被除数是0的话,会引发一些问题。
使用逻辑与则可以避免这个错误:

		x!=0 && y/x > 3

此段代码说的是,如果x不等于0,才会将x作为被除数。
还有许多小技巧,碍于篇幅不列举了,可以自行探索一下。

4 写在最后

关于短路运算有一个口诀可以记一下:
逻辑与–>一假则假,全真才真
逻辑或–>一真则真,全假才假
实际开发中逻辑的应用还是比较多的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值