短路与(&&)和与(&)运算之间的差别、短路非(||)和与(|)运算之间的差别

本文详细介绍了Java中的逻辑运算符&&、&、||、|的用法和差异。特别是短路与(&&)和与(&)的区别,指出在表达式求值过程中,短路与在左表达式为false时停止计算,而普通与则会继续计算右侧表达式。通过代码示例展示了这种差异如何影响变量的值。
摘要由CSDN通过智能技术生成

       &&、&、|| 、|都是逻辑运算符。

       逻辑运算符可以针对结果为布尔值的表达式进行逻辑运算。

&& 和 &| | 和 |
范例  结果范例结果
true && truetruetrue || truetrue
true && falsefalsetrue && falsetrue
false && falsefalsefalse && falsefalse
false && truefalsefalse && truetrue

        在java中&&、&、||、| 操作表达式都是布尔表达式,在c中,其操作数可以是数字,0表示false,正整数表示true。


下面是短路与(&&)和与(|)之间的差别:&&有短路特性,当第一个表达式的值为false时退出计算,整个表达式的值为false,而&操作符没有短路特性,即使&左边的表达式为false时,任然会算&右边的表达式。

这两个代码可以明显看出&&和&的区别! || 同理,这边不在举例! 

public class Tset {
    public static void main(String[] args) {
        int a = 32;
        int b = 43;
        boolean c,d;
        c = (a>b) && ((a++)>40);
        System.out.println(c);     //打印的是false
        System.out.println("a="+a);//打印的是32
    }

 

public class Tset {
    public static void main(String[] args) {
        int a = 32;
        int b = 43;
        boolean c,d;
        c = (a>b) & ((a++)>40);
        System.out.println(c);   //false
        System.out.println("a="+a);    //打印的是 a = 33
    }

 

 

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值