作為 Codegym 大學課程一部分的導師授課片段。報名參加完整課程。


“嗨,阿米戈。讓我告訴你一種新的數據類型。布爾值。這種類型的變量只能取兩個值:

“我們如何使用它?”

“這種類型在很多地方隱式使用。就像任何加法運算產生一個數字一樣,任何比較的結果都是布爾值。這裡有一些例子:”

代碼 解釋
1個
boolean m;
這兩個表達式是等價的。布爾變量的默認值為false
2個
boolean m = false;
3個
if (a > b)
    System.out.println(a);
比較的結果(truefalse)將分配給變量m如果表達式的計算結果為true,則條件得到滿足。
4個
boolean m = (a > b);
if (m)
    System.out.println(a);
5個
boolean m = (a > b);
if (m == true)
    System.out.println(a);
無需將邏輯(布爾)變量與truefalse進行比較。比較的結果將是一個與其他變量匹配的布爾值。例如,true == true 的計算結果為 true; true == false 的計算結果為 false
6個
boolean m = (a > b);
if (m)
    System.out.println(a);

“更多例子:”

代碼 解釋
1個
public boolean isALessThanB (int a, int b)
{
    if (a < b)
        return true;
    else
        return false;
}
此方法驗證數字 a 是否小於數字 b。

這裡有四個等價的比較。最後一個是最緊湊和正確的。始終嘗試使用緊湊的表示法。

2個
public boolean isALessThanB (int a, int b)
{
   boolean m = (a < b);
    if (m)
        return true;
    else
        return false;
}
3個
public boolean isALessThanB (int a, int b)
{
    boolean m = (a < b);
    return m;
}
4個
public boolean isALessThanB (int a, int b)
{
    return a < b;
}

“如果我想寫 0<a<b 怎麼辦?”

“Java 沒有接受三個操作數的比較運算符。因此,您需要這樣做:(0<a) AND (a<b)。”

“我寫AND這個詞嗎?”

“等等。我會解釋一下。Java 有三個邏輯運算符:ANDORNOT。您可以使用它們來構造不同複雜度的條件。您只能將這些運算符用於布爾表達式。所以,您不能寫( a+1) AND (3),但是(a>1)AND (a<3)沒問題。”

NOT運算符是一元的:它只影響右邊的表達式。它更像是負數前的減號,而不是兩個數字之間的乘號。”

“您可以對布爾(邏輯)變量執行各種操作。”

“像什麼?”

“讓我們來看看:”

邏輯運算符 Java 符號 表達 結果
&&  &&  真的
&&  錯誤的
 &&  錯誤的
&& 錯誤的
或者 || || 真的 真的
|| 錯誤的 真的
|| 真的 真的
|| 錯誤的 錯誤的
不是 真的 錯誤的
錯誤的 真的
常用組合和表達 毫米 錯誤的
米|| !米 真的
!(a && b) !一個 || !b
!(一個||乙) !a && !b

“你能給我更多的例子嗎?”

“當然:”

Java 符號 邏輯符號
(a<3) && (a>0) (a < 3) 和 (a>0)
(a>10) || (a<100) (a>10) 或 (a<100)
(a<b) && (!(c<=d)) (a<b) 與(非(c<=d))

“現在,做一些任務。”

4
任務
Java Syntax,  等級 4課堂 7
上鎖
Labels and numbers
Not all labels are equally useful, but sometimes a lack of labels results in chaos. Let's do a task that dishes out labels: use the keyboard to enter an integer, and make the program indicate whether the number is negative or positive (or zero), and even or odd. Why do we need this? Just because, for practice. After all, we're here to learn!