Java中& 、&& 以及| 、|| 之间的区别

||、&& 又叫做短路或与短路与

区别一:
定义不同:
||和|都是表示“或”,区别是||只要满足第一个条件,后面的条件就不再判断,而|要对所有的条件进行判断。
区别二:
与操作和或操作的区别
(1)使用操作,要求所有表达式的判断结果都是TRUE,才为真,若有一个为FALSE,那么最终判断结果则为FALSE。
(2)使用操作,只要其中有一个表达式为TRUE,那么最终的结果就为TRUE,只有当所有的表达式为FALSE时最终结果才为FALSE。
区别三:
实际含义不同:
“||”: 如果左边计算后的操作数为true,右边则不再执行,返回true;
“|”:前后两个操作数都会进行计算。也就是说:“|”不存在短路。
区别四:
举例说明:

public class Test {
    public static void main(String [] args){
        System.out.println("");
        // & 与 &&之间的区别!!!
        boolean a1 = false;
        int b1 = 1;
        if(a1 & (b1++ > 0)) //左边为false时,继续执行右边的!!!
            System.out.println("选项1"); 
        else
            System.out.println("选项2");

        System.out.println(b1);  //2
        boolean a2 = false;
        int b2 = 1;
        if(a2 && (b2++ > 0))  // 左边为false时,不再执行右边的!!!
            System.out.println("选项1");
        else
            System.out.println("选项2");
        System.out.println(b2); // 1
    }
}
// 同理 || 也是如此

总结:

| 左边为ture时,执行右侧,表达式一直成立;左边为false 执行右侧,表达式是否成立看右侧。

|| 左边为true 时,则不再执行,表达式一直成立!当左边表达式为false时,则继续执行右边的。成立与否看右侧的表达式。

& 左边表达式为true时,继续执行右侧,成立与否看右侧的。为false时候也执行右边的,但条件表达式一直不成立!

&& 左边表达式为true时,继续执行,成立与否看右侧的。左边表达式为false时,不再执行,此时表达式一直不成立!

单个与双个之间的却别就是 :单个无论左侧如何会一直执行右侧的,而双个的若能判断出结果则不再执行右侧的。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

XF鸭

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

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

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

打赏作者

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

抵扣说明:

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

余额充值