邏輯運算子的使用

2022-07-30 16:48:08 字數 1354 閱讀 1058

每次都因為邏輯運算子導致程式bug,所以專門整理一下擊中邏輯運算子的區別:

&—邏輯與   | —邏輯或   && —短路與   || —短路或

首先談談:&—邏輯與 和  &&—

短路與

1

int i1 = 10;

2boolean b = false;3

if (b & (i1++) > 0) else

8 system.out.println("i1 is :" +i1);9//

輸出結果: 今天又龍捲風! i1 is :11

1011

int i2 = 10;

12if (b && (i2++) > 0) else

17 system.out.println("i2 is :" +i2);

18//

輸出結果:今天又龍捲風! i2 is :10

總結: 

1、&— 邏輯與和 &&— 短路與的執行結果是一致的。

2、&— 邏輯與:無論左邊的運算為 true 還是 false。右邊都將繼續執行。

3、&&— 短路與:當左邊運算為 false 時,即可判斷整個if 條件,此時短路與不會執行右側的判斷條件。

4、在實際程式設計中,建議使用 &&— 短路與,因為可以避免右側條件異常,導致程式拋錯,還可以節約運算資源。

再來談談: | —邏輯或 和 || —邏輯或

1

int i3 = 10;

2boolean a = true;3

if (a | i3++ > 0) else

8 system.out.println("i3 is :" +i3);9//

輸出結果:今天天氣不錯! i3 is :11

1011

int i4 = 10;

12if (a || i4++ > 0) else

17 system.out.println("i4 is :" +i4);

18//

輸出結果:今天天氣不錯!i4 is :10

總結:1、|— 邏輯或 和 ||— 短路或 的執行結果是一致的。

2、|— 邏輯或:和 & 類似,無論右邊為 true還是 false,右邊的運算都會被執行。

3、||— 短路或

:和 && 類似,當左邊為true時,即可判斷整個條件結果,右邊剩下的運算將不會被執行。

4、在實際程式設計中,建議使用 ||— 短路或,因為可以避免右側條件異常,導致程式拋錯,還可以節約運算資源。

邏輯運算子( , )

操作!是的 運算子不執行布林操作,有只有乙個運算元,位於其權利,和唯一,它確實是逆是它的價值,生產假如果真實,真實的,如果其運算元其運算元為false。基本上,它返回布林值,評價其運算元相反。例如 1 2 3 4 5 5 evaluates to false because the expressi...

邏輯運算子

邏輯運算子 符號 作用 符號 作用 或and 與 或 not 非 或or 或 xor 異或 與 運算 1 或者 and 是 與 運算的兩種表達方式。如果所有資料不為0且不為空值 null 則結果返回1 如果存在任何乙個資料為0,則結果返回0 如果存在乙個資料null且沒有資料為0,結果返回null。...

邏輯運算子

邏輯與 當兩個運算元的值都為true時,運算結果為true 邏輯或 只要兩個運算元中有乙個值為true時,運算結果就為true 邏輯非 對運算元取反,即true值非運算的結果false,false值非運算的結果為true 案例 test1 var a 1,b 0,c hello a b c worl...