java逻辑运算符 & 和 &&、 | 和 || 的使用和区别

一、基本运算

  • 逻辑运算符,操作的都是boolean类型的变量或常量,而且运算得结果也是boolean类型的值。

  • 运算符说明:

    • & 和 &&:表示"且"关系,当符号左右两边布尔值都是true时,结果才能为true。否则,为false。

    • | 和 || :表示"或"关系,当符号两边布尔值有一边为true时,结果为true。当两边都为false时,结果为false

    • ! :表示"非"关系,当变量布尔值为true时,结果为false。当变量布尔值为false时,结果为true。

    • ^ :当符号左右两边布尔值不同时,结果为true。当两边布尔值相同时,结果为false。

      • 理解:异或,追求的是“异”!

  • 逻辑运算符用于连接布尔型表达式,在Java中不可以写成 3 < x < 6,应该写成x > 3 & x < 6 

二、区别

2.1 区分“&”和“&&”:

  - 相同点:如果符号左边是true,则二者都执行符号右边的操作

  - 不同点:& : 如果符号左边是false,则继续执行符号右边的操作

  ​                     && :如果符号左边是false,则不再继续执行符号右边的操作

  - 建议:开发中,推荐使用 && 

2.2  区分“|”和“||”:

    - 相同点:如果符号左边是false,则二者都执行符号右边的操作

    - 不同点:| : 如果符号左边是true,则继续执行符号右边的操作

    ​                || :如果符号左边是true,则不再继续执行符号右边的操作

    - 建议:开发中,推荐使用 ||

        int a = 3;
        int b = 4;
        int c = 5;
        //&和&&的区别
        System.out.println((a > b) & (a++ > c));//false
        System.out.println("a = " + a);//a = 4
        System.out.println((a > b) && (a++ > c));//false
        System.out.println("a = " + a);//a = 4
        System.out.println((a == b) && (a++ > c));//false
        System.out.println("a = " + a);//a = 5
        
        //|和||的区别
        System.out.println((a > b) | (a++ > c));//true
        System.out.println("a = " + a);//   a = 6
        System.out.println((a > b) || (a++ > c));// true
        System.out.println("a = " + a);//        a = 6
         System.out.println((a == b) || (a++ > c));//       true
        System.out.println("a = " + a);     //        a = 7  

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值