java &与&& |与||的区别

一、与操作和或操作的区别

(1)在Java程序中,使用与操作,要求所有表达式的判断结果都是TRUE,才为真,若有一个为FALSE,那么最终判断结果则为FALSE

(2)使用或操作,只要其中有一个表达式为TRUE,那么最终的结果就为TRUE,只有当所有的表达式为FALSE时最终结果才为FALSE

二、&与&&,|与||的区别

(1)&与&&

在程序中,&与&&的区别在于:

a.使用&时,当前面的表达式为假的时候,程序依旧会继续执行后面的表达式,然后再得出FALSE的结果,代码如下:

public class Test {
    public static void main(String[] args) {
        int i=0;
        if(10!=10&(i++)==1){
            
        }else{
            System.out.print("结果为假     "+i);
        }
    }
}

在这里插入图片描述
b.当使用&&(短路与)时,则相反,当前面的表达式结果为假时则不会再执行后面的表达式,直接得出FALSE的结果,代码如下:

public class Test {
    public static void main(String[] args) {
        int i=0;
        if(10!=10&&(i++)==1){
            
        }else{
            System.out.print("结果为假     "+i);
        }
    }
}

在这里插入图片描述

(2)|与||的区别

a.当使用|时,若前面的表达式为真时,程序会继续执行后面的表达式,然后在得出TRUE的结果,代码如下:

public class Test {
    public static void main(String[] args) {
        int i=0;
        if(10==10|(i++)!=0){
            System.out.print("结果为真     "+i);
        }else{
        }
    }
}

在这里插入图片描述

b.当使用||(短路或)时,若前面的表达式结果为真,则程序不会再执行后面的表达式,直接得出TRUE的结果,代码如下:

public class Test {
    public static void main(String[] args) {
        int i=0;
        if(10==10||(i++)!=0){
            System.out.print("结果为真     "+i);
        }else{
        }
    }
}

在这里插入图片描述

来源:https://www.cnblogs.com/libertycode/articles/5059169.html

猜你喜欢

转载自blog.csdn.net/fst438060684/article/details/85090485