Java笔记 --- 逻辑运算符

本文详细解析了Java中的逻辑运算符,并通过实例讲解了短路与(&&)、逻辑与(&)、短路或(||)和逻辑或(|)的特性。还介绍了非(!)和逻辑异或(^)的用法。通过Test04和Test05示例,展示了这些运算符在实际编程中的运用。
摘要由CSDN通过智能技术生成

一、逻辑运算符

用于连接多个条件(多个关系表达式),最终的结果也是一个boolean值。

二、类型

 三、&&和&

1、短路与&&  条件1 &&条件2   两个条件都为true,结果为true

2、逻辑与&   条件1 &条件2   两个条件都为true,结果为true

package demo02;

public class Logic {
    public static void main(String[] args) {
        //&&
        int a1 = 10;
        int a2 = 20;
        //&&第一个条件为false,第二条件不判断
        if (a1 > 20 && ++a2 < 21 ) {
            System.out.println("条件执行成功");
        }
        System.out.println("a1=" + a1 + "\ta2=" + a2);
        //&&第一个条件为false,第二条件依然判断
        if(a1 > 20 & ++a2 < 21){
            System.out.println("条件执行成功2");
        }
        System.out.println("a1=" + a1 + "\ta2=" + a2);
    }
}

 

  四、|| 与 |

1、短路或||   条件1 ||条件2   两个条件中只要有一个成立,结果为true 。

2、|逻辑或  条件1|条件2     只要有一个条件成立,结果为true

package demo02;

public class Logic02 {
    public static void main(String[] args) {
        int a1 = 10;
        int a2 = 20;
        //||第一个条件为false,第二条件不判断
        if (a1 < 20 || ++a2 < 21 ) {
            System.out.println("条件执行成功");
        }
        System.out.println("a1=" + a1 + "\ta2=" + a2);
        //|第一个条件为false,第二条件依然判断
        if(a1 < 20 | ++a2 < 21){
            System.out.println("条件执行成功2");
        }
        System.out.println("a1=" + a1 + "\ta2=" + a2);
    }
}

 五、!取反与 ^

! 非(取反)   !条件   如果条件本身成立, 结果为false,否则为true。

^叫逻辑异或,当a和b不同时,则结果为true, 否则为false。

package demo02;

public class Logic03 {
    public static void main(String[] args) {
        int a = 10;
        int b = 20;
        //!的使用
        System.out.println(a > b);
        System.out.println(!(a > b));
       //当两个条件都为true时,结果为false,否则为true
        if (a < b ^ b > a ) {
            System.out.println("执行成功");
        }
        if (a < b ^ b < a) {
            System.out.println("执行成功2");
        }
    }
}

 练习一

package demo02;

public class Test04 {
    public static void main(String[] args) {
        //判断x,y的值
        int x = 5;
        int y = 5;
        if (x++ == 6 & ++y == 6) {
             x = 11;
        }
        System.out.println("x=" + x + "\ty=" + y); //6 , 6
        //判断x1,y1的值
        int x1 = 5;
        int y1 = 5;
        if (x1++ == 6 && ++y1 == 6) {
            x1 = 11;
        }
        System.out.println("x1=" + x1 + "\ty1=" + y1 );//6 ,5
        //判断x2,y2的值
        int x2 = 5;
        int y2 = 5;
        if (x2++ == 5 | ++y2 == 5) {
            x2 = 11;
        }
        System.out.println("x2=" + x2 + "\ty2=" + y2 );//11 ,6
        //判断x3,y3的值
        int x3 = 5;
        int y3 = 5;
        if (x3++ == 5 || ++y3 == 5) {
            x3 = 11;
        }
        System.out.println("x3=" + x3 + "\ty3=" + y3 );//11 ,5
    }
}

 

 练习二

package demo02;

public class Test05 {
    public static void main(String[] args) {
        boolean x = true;
        boolean y = false;
        short z = 46;
        if ((z++ == 46) && (y = true)) z++;
        if ((x = false)||(++z == 49)) z++;
        System.out.println("z="+ z);//50
    }
}

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

鸭鸭老板

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

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

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

打赏作者

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

抵扣说明:

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

余额充值