【day009】逻辑运算符及三元运算符

本文详细介绍了Java中的逻辑运算符,包括逻辑或“|”、短路或“||”、逻辑与“&”以及短路与“&&”。重点讲解了短路运算的特点,并通过示例代码展示了它们在实际编程中的应用。此外,还阐述了三元运算符的使用方法,包括基本用法和嵌套使用,帮助初学者理解并掌握这些基础知识。

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

目录

逻辑运算符:        

                逻辑与和短路与的区别:

        逻辑或“|”

         短路或“||”

        逻辑与“&”

        短路与“&&”

 三元运算符:

                嵌套:


逻辑运算符:        

                上节说了,>、>=、<、<=、==、!=,这节就讲“|”逻辑或,“||”短路或、“&“逻辑与、以及“&&”短路与,他们输出的都是boolean类型的数据。

                首先:逻辑或“|”与短路或“||”,目前比较常用的是“||”短路或。

                逻辑与和短路与的区别:

                        逻辑或“|”,他是两边都需要计算,而不是,左边是逻辑真后,右边不看,把两边的逻辑值进行比较,得出最后结果。

                        短路或“||”,如果短路或“||”左边为真,则右边不参与运算,结果为真,如果为假,两边都需要参与运算。

                        逻辑与和短路与同上。

        逻辑或“|”

public class Daytext1 {
    public static void main(String[] args) {
//      逻辑或“|”
        int a=5;
        int b=6;
//      a++ > b:先判断,a在加一,这就是++放在后面的运算条件
//      ++a < b:++放在前面,就是先加,在比较
        boolean tf = a++ >b | ++a <b;
        System.out.println("逻辑或(|):"+tf);
        System.out.println(a);
    }
}

         短路或“||”

public class Daytext1 {
    public static void main(String[] args) {
        int a=5;
        int b=6;
//      a++ > b:先判断,a在加一,这就是++放在后面的运算条件
//      ++a < b:++放在前面,就是先加,在比较
//      短路或“||”,可以看到如果第一个条件成立,那么第二个条件就不会参与运算
        boolean tf = ++a >=b || a++ != b;
        System.out.println("短路或(||):"+tf);
        System.out.println(a);      //a=6  ,而不是a=7,所以说后面没有参与运算
    }
}

        逻辑与“&”

public class Daytext1 {
    public static void main(String[] args) {
        int a=5;
        int b=6;
//      a++ > b:先判断,a在加一,这就是++放在后面的运算条件
//      ++a < b:++放在前面,就是先加,在比较
//      逻辑与“&”,两边都为真时显示,显示真,否则,显示假
        boolean tf = ++a >=b & a++ != b;//a++ >= b 为真,a++ != b 为假,因为 a=6,要先比较,在自增
        System.out.println("逻辑与(&):"+tf);
        System.out.println(a);
    }
}

 

        短路与“&&”

public class Daytext1 {
    public static void main(String[] args) {
        int a=5;
        int b=6;
//      a++ > b:先判断,a在加一,这就是++放在后面的运算条件
//      ++a < b:++放在前面,就是先加,在比较
//      逻辑与“&&”,两边都为真时显示,显示真,否则,显示假
        boolean tf = ++a !=b && a++ >= b;//a++ != b 为假,a++ >= b 为真

//      短路与“&&”,可以看到如果第一个条件成立,那么第二个条件就不会参与运算
        System.out.println("逻辑与(&&):"+tf);
        System.out.println(a);
    }
}

 

 三元运算符:

                表达式?表达式1:表达式2

                a>b ?a:b

                如果a>b是真,就选择a,反之选择b。

//三元运算符
public class DayText2 {
    public static void main(String[] args) {
        int a=5;
        int b=6;
//        求a,b的最大值
//        表达式?表达式1:表达式2,表达式成立,选择表达式1,不成立选择表达式2
        int c=a>b ? a:b;
        System.out.println("最大值:"+c);
    }
}

                嵌套:

                三个数比较大小:a,b,c

                a>b?(a>c?a:c):(b>c?b:c)

public class DayText3 {
    public static void main(String[] args) {
        int a = 10;
        int b = 20;
        int c = 30;
        /*
        * 三个数比较大小:
        * 思路:如果a>b,那么拿a和c比较
        * 表达式?表达式1:表达式2
        * */
//        比较之前把(a>c?a:c)看作一个整体和(b>c?b:c)看作一整体,如果a>b,再把表达式1里面的进行比较
//        否则把表达式里面的进行比较。
        int max = a>b?(a>c?a:c):(b>c?b:c);
        System.out.println("最大值:"+max);

        /*求最小值,如果a>b是真,则b比较小,那么就把b的值与c比较,比较除最小值
        * 如果a>b是假,则a比较小,就把a的值与c比较,得出最小值
        * 例如:两个数的最小值:min=a>b?b:a
        * 如果a>b是真 那么小的值就是b,所以,a>b是真
        * 如果a>b是假 那么小的值就是a,所以,a<b;
        * */
        int min = a>b?(b>c?c:b):(a>c?c:a);
        System.out.println("最小值:"+min);
    }
}

到这里就结束了,可能对于初学者,还是比较绕的,希望大家多加练习。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

「已注销」

老板大气,I am happy

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

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

打赏作者

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

抵扣说明:

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

余额充值