JAVA基础(逻辑运算符)

本文介绍了JAVA中的逻辑运算符,包括&、|、^和!,并讲解了它们的基本用法和特点。逻辑与(&)、逻辑或(||)、逻辑异或(^)和逻辑非(!)的运算法则被详细阐述,特别是短路效果在&&和||运算符中的应用。同时,对比了&和&&、|和||的区别,强调了短路现象在实际编程中的影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1,逻辑运算符有哪些

  • &, | ,    ^,     !

  • &&         ||

2,逻辑运算符的基本用法

特点:偶数个不改变本身。

  • &逻辑与:  有false则false。

  • |逻辑或:   有true则true。

  • ^逻辑异或:相同为false,不同为true。

  • !逻辑非:   非false则true,非true则false。

 

3, 注意事项:

  • 逻辑运算符一般用于连接boolean类型的表达式或者值。

  • 表达式:就是用运算符把常量或者变量连接起来的符合java语法的式子。

    • 算术表达式:a + b

    • 比较表达式:a == b(条件表达式)

class Demo1_Operator {

    public static void main(String[] args) {

        //&,|,^,!

        //int x = 10;

        //5 < x < 15

        //x > 5 & x < 15

        //逻辑与 & 并且and 遇false则false

        int a = 10;

        int b = 20;

        int c = 30;

        /*System.out.println(a < b & b < c);            //true & true = true

        System.out.println(a < b & b > c);                //true & false = false

        System.out.println(a > b & b < c);                //false & true = false

        System.out.println(a > b & b > c);                //false & false = false*/

        //逻辑或 或or 遇true则true

        /*System.out.println(a < b | b < c);                //true | true = true

        System.out.println(a < b | b > c);                //true | false = true

        System.out.println(a > b | b < c);                //false | true = true

        System.out.println(a > b | b > c);                //false | flase = false*/

        //逻辑异或 ^ 两边相同为false,两边不同为true

        /*System.out.println(a < b ^ b < c);                //true | true = false

        System.out.println(a < b ^ b > c);                //true | false = true

        System.out.println(a > b ^ b < c);                //false | true = true

        System.out.println(a > b ^ b > c);                //false | flase = false*/

        //逻辑非!

        System.out.println(!true);

        System.out.println(!!true);

    }

}



 

4,&&和&的区别

  • 最终结果一样。

  • &&具有短路效果。左边是false,右边不执行。

  • &是无论左边是false还是true,右边都会执行

5,||和|的区别

  • 最终的结果是一样

  • ||具有短路效果,左边为true,右边不执行

class Demo2_Operator {

    public static void main(String[] args) {

        /*int a = 10;

        int b = 20;

        int c = 30;

        System.out.println(a < b && b < c);                //true && true = true

        System.out.println(a < b && b > c);                //true && false = false

        System.out.println(a > b && b < c);                //false && true = false

        System.out.println(a > b && b > c);                //false && false = false*/

        int x = 3;

        int y = 4;

        //System.out.println((++x == 3) & (++y == 4));    //false & false = false

        //System.out.println("x = " + x);                    //x = 4

        //System.out.println("y = " + y);                    //y = 5

        System.out.println("---------------------------");

        System.out.println((++x == 3) && (++y == 4));    //false & false = false

        System.out.println("x = " + x);                    //x = 4

        System.out.println("y = " + y);                    //y = 4

    }

}

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

兴帅_

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

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

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

打赏作者

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

抵扣说明:

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

余额充值