歡迎來到運算子的世界!

在本章中,我們將會探討讓電腦真正能夠「運作」的工具。在電腦科學中,運算子 (Operators) 是特殊的符號,用來告訴電腦執行特定的數學、比較或邏輯任務。

你可以把運算子想像成計算機上的按鍵或是路上的交通標誌。它們會接收數據(稱為運算元,Operands)並產生結果。讀完這些筆記後,你將能夠運用這些工具來編寫出聰明的程式,進行運算、比較並作出決策!

1. 算術運算子 (Arithmetic Operators)

這些是用來進行計算的。你可能在數學課中見過其中大部分,但有一些是程式設計師用來以特定方式處理數字的「特殊」運算子。

基礎算術

  • 加法 (+): 將兩個數值相加。 \( 5 + 3 = 8 \)
  • 減法 (-): 將一個數值減去另一個。 \( 10 - 4 = 6 \)
  • 乘法 (*): 將兩個數值相乘。注意:我們使用星號符號,而不是 'x'。 \( 4 * 3 = 12 \)
  • 除法 (/): 將一個數值除以另一個,得出小數結果。 \( 7 / 2 = 3.5 \)

「特殊」三人組(DIV、MOD 和乘冪)

如果這些一開始看起來有點複雜,別擔心!它們只是看待除法和乘冪的不同方式而已。

整數除法 (Integer Division, DIV 或 //): 這告訴你一個數可以放入另一個數中完整的次數。它會完全忽略餘數。
類比: 如果你有 7 塊餅乾分給 2 個朋友,每人可以得到 3 塊完整的餅乾。剩下的「0.5」或「剩餘 1 塊」會被忽略。
範例: \( 7 // 2 = 3 \)

模數運算 (Modulus, MOD 或 %): 這只會給你除法後的餘數
類比: 回到那 7 塊餅乾。在你給了 2 個朋友每人 3 塊後,你還剩下 1 塊餅乾。那個 1 就是模數!
範例: \( 7 \% 2 = 1 \)

乘冪 (Exponentiation, ^ 或 **): 這會將一個數字進行乘冪運算。
範例: \( 2^3 \) (即 \( 2 * 2 * 2 \)) \( = 8 \)

快速複習:DIV 與 MOD

想像一下這個算式: \( 17 / 5 \)
- 一般除法 = \( 3.4 \)
- DIV = 3 (整數部分)
- MOD = 2 (餘數,因為 \( 5 * 3 = 15 \),而 \( 17 - 15 = 2 \))

重點總結: 算術運算子讓你的程式能夠在幕後處理所有「數學」,從計算遊戲分數到分攤餐廳帳單都沒問題。


2. 關係運算子 (Relational Operators)

關係運算子用於比較兩個值。比較的結果永遠是一個布林值 (Boolean):即 True(真)False(假)

  • 等於 (==): 檢查兩個值是否完全相同。(警告:請使用兩個等號!單一個 = 是用於將值賦予變數)。
  • 不等於 (!=): 檢查兩個值是否不同。
  • 大於 (>): 檢查左邊的值是否較大。
  • 小於 (<): 檢查右邊的值是否較大。
  • 大於或等於 (>=): 檢查左邊的值是否較大或相同。
  • 小於或等於 (<=): 檢查右邊的值是否較大或相同。
常見錯誤警示!

許多學生在想要比較時誤用了 = 而不是 ==
- Score = 10 (這是在設定分數為 10)。
- If Score == 10 (這是在詢問「分數是 10 嗎?」)。

重點總結: 關係運算子是「選擇結構 (Selection)」(If 語句)的核心。它們讓電腦可以詢問像「使用者的密碼正確嗎?」或「玩家有足夠的金幣嗎?」這類問題。


3. 邏輯運算子 (Logical Operators: AND, OR, NOT)

有時候,單一的比較是不夠的。我們使用邏輯運算子將多個比較組合在一起。

三大邏輯運算子:

1. AND: 兩邊都必須為 True,整個結果才會是 True。
範例: 要出門的話,你必須 (穿上鞋子) AND (穿上外套)。如果少了其中一樣,結果就是 False!

2. OR: 只要有其中一邊為 True,整個結果就是 True。
範例: 你可以吃甜點,條件是 (吃完蔬菜) OR (今天是你的生日)。只要其中一個條件成立,你就能吃到蛋糕!

3. NOT: 這只是單純反轉結果。它會將 True 變為 False,將 False 變為 True
範例: NOT (飢餓) 意味著你已經飽了。

真值表 (Truth Tables)

考試時,你可能會被要求填寫這些運算子的真值表。以下是它們在兩個輸入(A 和 B)情況下運作的簡單說明:

AND 真值表

\( A = False, B = False \rightarrow 結果: False \)
\( A = True, B = False \rightarrow 結果: False \)
\( A = False, B = True \rightarrow 結果: False \)
\( A = True, B = True \rightarrow 結果: True \)

OR 真值表

\( A = False, B = False \rightarrow 結果: False \)
\( A = True, B = False \rightarrow 結果: True \)
\( A = False, B = True \rightarrow 結果: True \)
\( A = True, B = True \rightarrow 結果: True \)

你知道嗎? 在考試中,你最多可能需要處理三個輸入!例如: (A AND B) OR C。只需像在數學課一樣,先處理括號內的部分即可。

重點總結: 邏輯運算子能處理複雜的決策。它們讓你能夠同時檢查多個條件,從而讓你的程式變得更強大。


總結清單

在繼續學習之前,請確保你能回答以下問題:
- 我知道 /DIVMOD 之間的區別嗎?
- 我能列出所有 6 個關係運算子嗎?
- 我能解釋為什麼 AND 需要兩個條件都成立,但 OR 只需要其中一個嗎?
- 我記得在進行比較時使用 == 而不是 = 嗎?

如果需要回頭查看餅乾的例子幾次也沒關係——MOD 和 DIV 是需要練習才能掌握的!