布林值是評估為 true 或 false 的值,由 boolean 資料型別表示。布林表示式與數學表示式非常相似,但您不使用 "+" 或 "-" 等數學運算子,而是使用 "==" 或 "!" 等比較或布林運算子。
Java 有幾個運算子可以用於比較變數。例如,您如何判斷一個變數的值是否大於另一個變數的值?答案:使用“大於”運算子。
以下是 Java 中比較運算子的列表
> : 大於
< : 小於
>= : 大於或等於
<= : 小於或等於
== : 等於
!= : 不等於
要檢視這些運算子的使用方法,請檢視以下示例
程式碼部分 3.37:比較。
int a = 5 , b = 3 ;
System . out . println ( a > b ); // Value is true because a is greater than b
System . out . println ( a == b ); // Value is false because a does not equal b
System . out . println ( a != b ); // Value is true because a does not equal b
System . out . println ( b <= a ); // Value is true because b is less than a
程式碼部分 3.37 的輸出
true
false
true
true
比較運算子可以用於任何基本型別(除了 boolean),但只有“等於”和“不等於”運算子適用於物件。這是因為小於/大於運算子不能應用於物件,但等價運算子可以。
具體來說,== 和 != 運算子測試兩個變數是否指向同一個物件。物件將在本教程後面的“類、物件和型別 ”模組中進行介紹。
Java 布林運算子基於 布林代數 的運算。布林運算子直接對布林值進行操作。
以下是 Java 中四個常見布林運算子的列表
! : 布林非
&& : 布林與
|| : 布林或
^ : 布林異或
布林非運算子(“!”)將布林表示式的值取反。布林與運算子(“&&”)僅當運算子兩側的值都為真時才返回真。布林或運算子(“||”)僅當運算子兩側的值至少有一個為真時才返回真。布林異或運算子(“^”)僅當運算子兩側的值只有一個為真時才返回真。
為了展示這些運算子的使用方法,以下是一個示例
程式碼部分 3.38:運算元。
boolean iMTrue = true ;
boolean iMTrueToo = true ;
boolean iMFalse = false ;
boolean iMFalseToo = false ;
System . out . println ( "NOT operand:" );
System . out . println ( ! iMTrue );
System . out . println ( ! iMFalse );
System . out . println ( ! ( 4 < 5 ));
System . out . println ( "AND operand:" );
System . out . println ( iMTrue && iMTrueToo );
System . out . println ( iMFalse && iMFalseToo );
System . out . println ( iMTrue && iMFalse );
System . out . println ( iMTrue && ! iMFalse );
System . out . println ( "OR operand:" );
System . out . println ( iMTrue || iMTrueToo );
System . out . println ( iMFalse || iMFalseToo );
System . out . println ( iMTrue || iMFalse );
System . out . println ( iMFalse || ! iMTrue );
System . out . println ( "XOR operand:" );
System . out . println ( iMTrue ^ iMTrueToo );
System . out . println ( iMFalse ^ iMFalseToo );
System . out . println ( iMTrue ^ iMFalse );
System . out . println ( iMFalse ^ ! iMTrue );
程式碼部分 3.38 的輸出
NOT operand:
false
true
false
AND operand:
true
false
false
true
OR operand:
true
false
true
false
XOR operand:
false
false
true
false
以下是布林運算子的真值表
a
!a
true
false
false
true
a
b
a && b
a || b
a ^ b
true
true
true
true
false
true
false
false
true
true
false
true
false
true
true
false
false
false
false
false
有關簡化複雜邏輯的幫助,請參閱 德摩根定律 。
在 Java 中,布林邏輯有一個名為短路 的有用屬性。這意味著表示式將僅根據需要進行評估。在表示式 (a && b) 中,如果 a 為假,則 b 不會被評估,因為無論如何表示式都將為假。以下是一個顯示第二個表示式不會自動檢查的示例
程式碼部分 3.39:短路。
System . out . println (( 4 < 5 ) || (( 10 / 0 ) == 2 ));
程式碼部分 3.39 的輸出
true
要停用此屬性,可以使用 & 代替 &&,使用 | 代替 ||,但建議不要這樣做。
有關 & 和 | 上的按位運算,請參閱 算術表示式 。