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{
        }
    }
}

結果如下:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM