1. 程式人生 > >Java 中 && 和 & 的區別

Java 中 && 和 & 的區別

在java中&和&&都屬於邏輯運算子,都是判斷兩邊條件為真時為真,否則則為假。

在程式中:

1         int i = 1;
2         if ((i++ > 1) & (i++ > 3)) {
3             System.out.println("啦啦啦");
4         } else {
5             System.out.println("噢噢噢");
6         }
7         System.out.println(i);

執行結果:

1 噢噢噢
2 3

 & 邏輯運算子實際上會把前後兩個判斷條件都執行一次,也就是 i 自身加兩次 出現結果為 3 。  

1         int i = 1;
2         if ((i++ > 1) && (i++ > 3)) {
3             System.out.println("啦啦啦");
4         } else {
5             System.out.println("噢噢噢");
6         }
7         System.out.println(i);

 

 執行結果:

 

1 噢噢噢
2 2

 

 

 

&& 邏輯運算子實際上只判斷了前邊一個條件為假時,得出判斷為false,出現結果為:2

區別:

&& 會出現短路,通過第一個表達判斷整個表示式的結果,後面的表示式將不會運算。

&不會出現短路,將整個表示式都進行運算,&既可操作 boolean 資料還可以操作 數