歡迎來到關係運算的世界!你的數碼決策指南
你好,未來的程式設計師!這一章非常重要,因為它將教導你的電腦如何做出決策。試想一下你的日常生活:你時刻都在進行比較——例如「我的分數夠高嗎?」或者「這件襯衫比那件便宜嗎?」
在電腦科學中,我們使用關係運算 (Relational Operations)(也稱為比較運算子)來提出這類問題。一旦電腦知道了答案,它就能選擇接下來要執行哪些指令。掌握這一點是編寫實用程式的關鍵!
第 1 節:核心概念——提出「是/否」問題
什麼是關係運算?
關係運算只是一種比較兩個數值的方法。這些數值可以是數字(如 10 和 20)、字串(如 "Apple" 和 "Banana"),甚至是儲存數據的變數。
運算會比較這兩個數值,並檢查它們之間的關係。
例子:
5 是否大於 3?
"Code" 是否等於 "Program"?
布林結果:True(真)或 False(假)
這是比較的金科玉律:當進行關係運算時,結果總是以下兩種可能之一:
- True (真/是):運算子指定的關係成立。
- False (假/否):運算子指定的關係不成立。
這種 True/False 的結果被稱為布林 (Boolean) 值。如果你知道什麼是開關(開/關),這就是布林值在程式設計中的意義!
快速回顧:布林檢查
輸入: 兩個被比較的數值(例如 A 和 B)。
運算: 關係運算子(例如大於)。
輸出: 單個布林值(True 或 False)。
第 2 節:六個必備的關係運算子
在程式設計中,我們使用特定的符號來表示比較數值的六種方式。你必須精確掌握這些符號!
1. 等於 (==)
這會檢查左側的值是否與右側的值完全相同。
符號: ==(兩個等號)
例子:
10 == 10 結果為 True。
5 == 8 結果為 False。
"Red" == "red" 通常為 False(因為大寫 R 的關係!)。
⚠ 常見錯誤警報!
學生經常混淆比較運算子 (==) 和賦值運算子 (=)。
賦值: Score = 50(你將數值 50 賦予變數 Score)。
比較: Score == 50(你在問:「Score 裡的值是否等於 50?」)。
2. 不等於 (!= 或 <>)
這會檢查兩個值是否不同。
符號: !=(常用於 Python/Java 等多種語言)或 <>(用於某些舊語言或 SQL)。
記憶小貼士: 感嘆號 (!) 在電腦科學中通常表示「非 (NOT)」!
例子:
10 != 5 結果為 True(10 確實不等於 5)。
10 != 10 結果為 False(它們相同,所以並非不等於)。
3. 大於 (>)
檢查左側數值是否在數字上大於右側數值。
符號: >
例子:
25 > 20 結果為 True。
20 > 20 結果為 False(20 並不大於 20;它們相等)。
4. 小於 (<)
檢查左側數值是否在數字上小於右側數值。
符號: <
類比(鱷魚嘴): 將比較符號想像成鱷魚的嘴巴。鱷魚總是想吃較大的數字!這能幫助你記住符號開口的方向。
5. 大於或等於 (>=)
檢查左側數值是否大於右側數值,或者兩者是否相等。
符號: >=(等號永遠放在後面)
例子: 如果你需要 50 分或以上才能及格:
55 >= 50 結果為 True。
50 >= 50 結果為 True。
49 >= 50 結果為 False。
6. 小於或等於 (<=)
檢查左側數值是否小於右側數值,或者兩者是否相等。
符號: <=
例子: 如果青年會員的最高年齡限制為 18 歲:
16 <= 18 結果為 True。
18 <= 18 結果為 True。
19 <= 18 結果為 False。
運算子總結
| 運算 | 符號 | 意義 | 範例結果 |
|---|---|---|---|
| 等於 | == | 它們相同嗎? | 3 == 3 (True) |
| 不等於 | != 或 <> | 它們不同嗎? | 3 != 4 (True) |
| 大於 | > | 左邊較大嗎? | 5 > 2 (True) |
| 小於 | < | 左邊較小嗎? | 5 < 2 (False) |
| 大於或等於 | >= | 左邊較大或相等嗎? | 5 >= 5 (True) |
| 小於或等於 | <= | 左邊較小或相等嗎? | 5 <= 6 (True) |
第 3 節:實際應用——控制程式流程
為什麼我們關心條件是 True 還是 False?因為這個布林結果是條件程式設計 (Conditional Programming)(通常使用 IF 陳述句)的基礎。
關係運算允許程式決定要遵循哪條指令路徑。如果結果為 True,條件區塊內的代碼就會執行;如果結果為 False,則跳過該代碼。
分步教學:決策制定
假設我們要編寫一個程式來檢查使用者是否達到投票年齡(18 歲或以上)。
第 1 步:獲取數據
UserAge = 17
第 2 步:進行關係運算(提出問題)
我們詢問:UserAge 是否大於或等於 18?
UserAge >= 18
17 >= 18
第 3 步:確定布林結果
結果是 False。
第 4 步:使用結果做出決策(IF 陳述句)
IF UserAge >= 18 THEN
PRINT "你可以投票!"
ELSE
PRINT "年齡太小,不能投票。"
END IF
由於結果為 False,程式會跳過「你可以投票!」這一行,並執行「年齡太小,不能投票。」這一行。
你知道嗎? 每當你登入網站時,系統都會執行一個關係運算(Username == 已儲存的用戶名 且 Password == 已儲存的密碼)來決定是否授予存取權限!
第 4 節:重要細節與學習小撇步
數據類型很重要!
你可以比較大多數數據類型,但必須小心。
比較數字(整數/實數)
像 10 < 5 這樣的比較非常直觀。
比較字串(文本)
在比較文本(字串)時,電腦通常會根據它們的字元編碼(如 ASCII)按字母順序進行比較。這意味著:
- "A" < "B" 為 True。
- "Cat" > "Apple" 為 True。
- 大小寫敏感: 小寫字母通常比大寫字母擁有更大的數值。"a" > "A" 通常為 True。使用
==時要特別注意大小寫!
小心等號的陷阱
這是新手遇到的最大障礙,讓我們再複習一次:
單等號 (=): 這是一個指令!「將此變數設定為此值。」(例如:speed = 60)
雙等號 (==): 這是一個問題!「這兩樣東西一樣嗎?」(例如:speed == 60)
如果你在條件陳述句中不小心使用了 = 而不是 ==,程式很可能會崩潰或給出意想不到的結果,因為它試圖修改數值,而不是進行比較!
重點總結
關係運算是程式智慧的基石。它們接收兩個數值,使用六個運算子之一(==, !=, >, <, >=, <=)對其進行比較,並產生一個基礎的布林 (True/False) 結果。這個結果隨後會引導程式的執行流程。