java逻辑运算符

逻辑运算符:

&     逻辑与【并且】 (两边的算子都是true,结果才是true)

|       逻辑或【或者】 (两边的算子只要有一个是true,结果就是true)

!     逻辑非(取反,!false就是true,!true就是false,这是一个单目运算符)

&&     判断与

||        判断非

1、逻辑运算符要求两边的算子都是布尔类型,并且逻辑运算符最终的运算结果也是一个布尔类型

2、短路与和逻辑与最终的运算结果是相同的,只不过短路与存在短路现象

3、短路或和逻辑或最终的运算结果是相同的,只不过短路或存在短路现象

public class OperatorTest03{

      public static void main(String[ ] args){

            System.out.println(5>3 & 5>2);//true

            System.out.println(5>3 & 5>6);//false

            System.out.println(5>3 | 5>6);//true

 

            System.out.println(true & true);//true

            System.out.println(true & false);//false

            System.out.println(false & true);//false

            System.out.println(false & false);//trfalsee

 

            System.out.println(true | false);//true

            System.out.println(false | false);//false

 

            System.out.println(! false);//true

            System.out.println(! true);//false

 

            System.out.println(true ^ false);//true

            System.out.println(true ^ true);//false

            System.out.println(false ^ false);//false

            //逻辑与和短路与

            int x = 10;

             int y = 8;

             // 逻辑与

            System.out.println(x<y && ++x<y);

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

             //逻辑与和短路与

             int x = 10;

             int  y = 8;

              //短路与

             int x = 10;

             int y = 8;

             //短路与

             //x<y结果是false,整个表达式结果已经确定是false

            //所以后面的表达式没有再执行,这种现象被称为短路现象

            //短路与才会有短路现象,逻辑与是不会存在短路现象的

            System.out.println(x<y && ++x<y);

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

             /*

                从某个角度来看,短路与更智能,由于后面的表达式可能不执行

                所以执行效率较高,这种方式在实际的开发中使用较多,短路与比逻辑与使用的多,短路与更常用

                 但是,在某些特殊的业务逻辑当中,要求运算符两边的算子必须全部执行,此时必须使用逻辑与,

                 不能使用短路与,使用短路与可能导致右边的表达式不执行

                  什么情况下发生短路或?

                  *第一个表达式执行结果是true,会发生短路或

                  什么情况下发生短路与?

                  *第一个表达式执行结果是false,会发生短路与

            */

      }

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

胖胖要写代码

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

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

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

打赏作者

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

抵扣说明:

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

余额充值