短路与&& 短路或 || 逻辑与 & 逻辑或 |

一、区别
  短路与&&  和短路或 ||  的作用相同,但有短路效果

  逻辑与 &   和逻辑或   |  没有短路效果

1、逻辑与 &   和逻辑或   |  没有短路效果

int i=10;
int j=20;

 System.out.println((i++>100)&(j++)>100); // false
        System.out.println("i:"+i);       //11
        System.out.println("j:"+j);      //21

编译运行:

 可以看出 i  和  j 都加一,都执行了。证明逻辑与没有短路效果

2、  短路与&&  和短路或 ||  的作用相同,但有短路效果

       并且  短路与:如果前面是false ,后面无论是false还是true都是 false ,后面就不执行了

 int i=10;
 int j=20;

        System.out.println((i++>100)&&(j++)>100); //false
        System.out.println("i:"+i);     //12
        System.out.println("j:"+j);     //20

编译执行结果: 

 可以看出 i加一 ,j 没变,j 没有执行。证明短路与&&有短路效果

3、逻辑或 |,只要有一个true,就全是true,全都执行

int i=10;
int j=20;


System.out.println((i++<100)|(j++)<100);//true
        System.out.println("i:"+i);      //11
        System.out.println("j:"+j);     //21

 编译执行结果:

  可以看出 i  和  j 都加一,都执行了。证明逻辑或没有短路效果

4、短路或:如果前面是true 后面无论是false还是true都是 true ,后面就不执行了

                   如果前面的不是true,按正常或看,只要有一个true,就是true,都执行

 int i=10;
 int j=20;

        System.out.println((i++>100)||(j++)<100);//true
        System.out.println("i:"+i);       //11
        System.out.println("j:"+j);   //21

编译运行结果:

即 前面的(i++)>100不是true,则就按正常或看,后面的为true,即(j++)<100,就是true,就都执行

都加一

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

朝闻道 ||

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值