邏輯運算中有兩個問題,按位與/或 以及 邏輯與/或。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