Java中,&&, &, |, || 之間的區別

邏輯運算中有兩個問題,按位與/或 以及 邏輯與/或java

  • 按位與/或 使用單字符(&或|)

按位操做符用來操做證書基本數據類型中的單個「比特」 (bit),即二進制。按位操做符會對兩個參數中對應的位執行布爾代數運算,並最終生成一個結果。測試

  • 邏輯與/或 使用雙字符 (&&或||)

&&和&都是表示與,區別是&&只要第一個條件不知足,後面條件就再也不判斷(即短路與)。 而&要對全部的條件都進行判斷。code

public static void main(String[] args){
        if((23!=23)&&(100/0==0)){
            System.out.println("運算沒有問題");
        }else{
            System.out.println("沒有報錯");
        }
    }

輸出結果it

沒有報錯

測試代碼io

public static void main(String[] args){
        if((23!=23)&(100/0==0)){
            System.out.println("運算沒有問題");
        }else{
            System.out.println("沒有報錯");
        }
    }

結果thread

Exception in thread "main" java.lang.ArithmeticException: / by zero
	at test.OrAnd.main(OrAnd.java:9)

一樣道理, ||和|都是表示「或」,區別是||只要知足第一個條件,後面的條件就再也不判斷(短路或),而|要對全部的條件進行判斷。test

相關文章
相關標籤/搜索