在java中&和&&都屬於邏輯運算符,都是判斷兩邊條件爲真時爲真,不然則爲假java
在程序中&的使用:spa
1 public static void main(String[] args) { 2 int i = 3; 3 if ((i++ > 5) & (i++ < 9)) { 4 System.out.println(i); 5 System.out.println("恭喜,執行完了條件語句"); 6 } 7 System.out.println(i); 8 }
這一段代碼運行結果爲:5code
也就是說&邏輯運算符其實是會吧先後兩個判斷條件都會執行兩次,i自加了兩次,出現結果爲:5blog
public static void main(String[] args) { int i = 3; if ((i++ > 5) && (i++ < 9)) { System.out.println(i); System.out.println("恭喜,執行完了條件語句"); } System.out.println(i); }
這一段代碼運行結果爲:4class
也就是說&&邏輯運算符實際上只判斷了前邊一個條件爲假時,得出判斷爲false,出現結果爲:4程序
它們之間的區別在與:static
&&:當先後兩個判斷條件前一個爲假時,後面不執行,得出最終結論該判斷爲falsedi
&: 會將先後表達式的判斷結果都進行比較,所以會出現i++,運行兩次的結果co