在 Java 語言的上下文中,“布爾”一詞可以有不同的含義,儘管它們非常相關。它可能是:
請注意,在 Java 中,運算符& , | 和^也適用於整數。在這種情況下,它們的工作方式略有不同,被稱為按位(或按位)邏輯運算符。讓我們舉個例子,展示幾個使用邏輯運算符組成的邏輯表達式。
- 布爾原始類型或此類型的布爾變量
- Java Boolean類或Boolean包裝器對象
- 布爾表達式,布爾值,一些條件
- Java 布爾運算符

什麼是一般意義上的布爾值
布爾表達式的概念來自數學,或者更確切地說,來自數理邏輯。命題代數中的布爾表達式是可以說是真或假的表達式。例如:
“雪是白的” “鱷魚會飛” “2 + 2 = 4” “1 + 1 = 21”
同時,“2”或“雪”不是布爾表達式。
Java 布爾原始數據類型和布爾變量
談到Java中的boolean,首先很可能是boolean原始數據類型和這種類型的boolean變量。正如您可能已經猜到的那樣,這種類型的變量只能取兩個值,true 和 false。Java 有相當嚴格的限制: Java 中的布爾值不能轉換為任何其他數據類型,反之亦然。特別是, Java 中的布爾值不是整數類型,不能使用整數值代替布爾值。下面是直接設置布爾類型的例子:
boolean myBoolean; //boolean variable
myBoolean = false;
boolean myBoolean1 = true; //another boolean variable
這裡我們有 2 個布爾變量。讓我們用一個使用布爾類型的例子來寫一個小程序:
//boolean variable example
public class BoolTest {
public static void main(String[] args) {
boolean myBoolean = false;
System.out.println(myBoolean);
}
}
該程序向控制台打印“false”。順便說一句,布爾變量默認設置為 false,但 Java 不允許您使用未初始化的局部變量。
Java 中的布爾表達式
除了將布爾變量顯式初始化為 true 或 false 之外,布爾數據類型還在許多地方隱式使用。正如任何一個數字相加的結果都會是一個數字,任何一個比較的結果都會是真或假,即是布爾類型。這意味著,除了通過布爾變量賦值語句直接指定布爾值外,布爾值還來自各種比較,例如5 > 2,主要用於條件語句和循環語句。下面是一個使用布爾類型的例子:
public class BoolTest {
public static void main(String[] args) {
boolean myBoolean = false;
int a = 5;
int b = 7;
System.out.println(a < b);
System.out.println(0 > 7);
System.out.println(myBoolean == false);
}
}
輸出是:
真假真
在a < b 的情況下,<運算符將左側的表達式與右側的表達式進行比較。我們在屏幕上顯示了比較結果。由於5 < 7(語句為真),值真將打印到控制台。在第二種情況下,我們顯示零和七的直接比較,在第三種情況下,我們詢問變量myBoolean的值是否為 false。由於是這種情況,我們輸出值true。事實上,要在 Java 中構建布爾表達式,我們可以使用任何比較運算符:
比較運算符 | Java運算符 | 操作示例 | 運行結果 |
---|---|---|---|
較少的 | < | 一個 < 乙 | 如果a小於b則為真否則為假 |
更大 | > | 一個 > 乙 | 如果a大於b則為真,否則為假 |
小於或等於 | <= | 一個 <= 乙 | 如果a小於b或者它們相等則為true ,否則為false |
大於或等於 | >= | 一個 >= 乙 | 如果a大於或等於b則為true,否則為false |
平等的 | == | 一個 == 乙 | true,如果a等於b,否則false |
不等於 | != | 一個!= b | true,如果a不等於b,否則false |
使用布爾值的地方
布爾值和條件表達式經常用於分支語句、三元運算符和循環的條件中。事實上,它們的使用是基於檢查某些布爾表達式。例如:
public class BoolTest2 {
public static void main(String[] args) {
int i = 0;
while (i <= 10)
{
System.out.println(i);
i++;
}
}
}
這個程序打印出一個整數序列,只要滿足 while 後括號中的條件,它們就會加 1。也就是說,當表達式i <=10為真時。
Java 布爾運算符。使用布爾運算符構建布爾表達式
以下邏輯(或布爾)操作在 Java 中可用:-
邏輯非,也就是 NOT 或反轉。在 Java 中,用符號! 表達前。
-
邏輯與,也是與或連詞。在應用它的兩個表達式之間用符號&表示。
-
邏輯或在Java中,也是OR,也是析取。在 Java 中,用符號|表示 兩個表達式之間。
-
異或、異或、嚴格析取。在 Java 中,它由兩個表達式之間的符號^表示。
-
在 Java 中,邏輯運算符包括條件或,表示為|| , 以及有條件的 and, &&。
a | b == true
布爾 Java 運算符 | 姓名 | 類型 | 描述 | 例子 |
---|---|---|---|---|
! | 邏輯“非”(否定) | 一元的 | !x表示“不是 x”。如果x為false,則返回true。如果x為真,則返回假。 |
然後
|
& | 邏輯“與”(和,邏輯乘法) | 二進制 | 如果a和b都為真,則(a & b)返回真。 |
然後
|
| | 邏輯或(邏輯加法) | 二進制 | 如果a或b或兩者都為真,則(a | b)返回真。 |
然後 |
^ | 邏輯異或 (XOR) | 二進制 | (a ^ b)返回true,如果只有一個操作數(a 或 b)為true。如果a和b同時為 true 或 false,則返回false 。事實上,如果a不等於b它返回true。 |
然後
|
&& | 條件與(縮寫為邏輯與) | 二進制 | a && b與a & b相同,但如果 a 為false,運算符只返回false而不檢查b。 | |
|| | 條件或(縮寫邏輯或) | 二進制 | 一個|| b與a |相同 b,但如果a為true,則運算符只返回true而不檢查b。 |
public class BoolTest2 {
public static void main(String[] args) {
int a = 5;
int b = 7;
boolean myBool1 = true;
boolean myBool2 = false;
System.out.println(myBool1&myBool2);
System.out.println(myBool1|myBool2);
System.out.println(!myBool1);
System.out.println((a > b) & !myBool1 | myBool2);
}
}
這是輸出:
假 真 假 假
事實上,您可以使用邏輯運算符構建非常複雜的邏輯結構。例如
(a<!b)&(q+1 == 12)^(!a | c & b > 1 + b)|(q ^ a > !b)
如果所有變量都被初始化,這樣的構造將起作用。但是,您不應該濫用它們,它們會使代碼難以閱讀。然而,處理這樣的邏輯結構是非常有用的。嘗試用表中給出的其他邏輯運算符組成邏輯表達式。
邏輯運算的優先級
如同在數學中一樣,在編程中,如果運算符出現在同一表達式中,則它們具有特定的執行順序。一元運算符優於二進制運算符,乘法(甚至邏輯)優於加法。以下是放置在主題列表中的邏輯運算符,它們的優先級越高:-
!
-
&
-
^
-
|
-
&&
-
||
Java 布爾包裝器
在Java中,每個原始類型都有一個“兄弟”,一個包裝類(Wrapper)。包裝器是一個特殊的類,它在內部存儲原語的值。然而,這是一個類,因此您可以創建它的實例(對象)。這些對像在內部存儲了圖元的必要值,而它們將是真實的對象。Java boolean 原始類型有一個包裝器 Java Boolean(大寫 B)類。Boolean Class 對象的創建方式與其他對像一樣:
Boolean b = new Boolean(false);
Java Boolean類有一些有用的方法。其中最有趣的方法之一是parseBoolean方法。 static boolean parseBoolean(String s)方法將字符串參數解析為布爾值。如果字符串參數不為空且等於(忽略大小寫)字符串“true”,則返回的布爾值表示值true 。否則返回false。
parseBoolean 方法示例
public class BoolTest2 {
public static void main(String[] args)
{
System.out.println(Boolean.parseBoolean("True"));
System.out.println(Boolean.parseBoolean("TRuE"));
System.out.println(Boolean.parseBoolean("False"));
System.out.println(Boolean.parseBoolean("here"));
}
}
輸出是:
真真假假
為了鞏固您所學的知識,我們建議您觀看我們的 Java 課程中的視頻課程
GO TO FULL VERSION