歡迎來到數據類型(Data Types)的世界!

在本章中,我們將探索程式設計中最重要的基礎之一:數據類型 (Data Types)
試著把電腦想像成一位井井有條的廚師。為了烹飪出一道佳餚(或是執行一個程式),廚師必須清楚自己正在使用什麼食材。你不會想嘗試把一加侖牛奶拿去煎,或者把牛排倒進玻璃杯裡吧?同樣地,電腦也需要知道數據是一個整數 (Whole number)小數 (Decimal) 還是一段文字 (Piece of text)。這能協助電腦在記憶體中預留適當的空間,並避免它犯下一些荒謬的錯誤!

如果起初覺得這些概念有點抽象,別擔心!讀完這些筆記後,你甚至在睡夢中都能一眼辨識出這些數據類型!

3.2.1 什麼是數據類型?

數據類型基本上就是一個標籤,告訴電腦數值屬於哪種數據。這一點非常重要,因為它能告訴電腦:
1. 需要為該數據預留多少記憶體 (Memory)
2. 可以對該數據執行哪些運算 (Operations)(例如,你可以將兩個數字相乘,但你無法將兩個句子相乘)。

「五大」數據類型

根據 AQA 課程大綱,你需要掌握並學會使用五種主要的數據類型。這裡有一個簡單的記憶口訣,幫助你把它們記住:

I - Integer(整數)
R - Real(實數)
B - Boolean(布林值)
C - Character(字元)
S - String(字串)

記憶口訣:「I Read Books, Comics, & Stories.」(我閱讀書籍、漫畫與故事。)

重點總結:程式中的每一項數據都必須定義數據類型,這樣電腦才知道如何正確處理它。


1. Integer(整數)

Integer(整數)是一個完整數值。它可以是正數、負數或零,但絕對不能有小數點。

現實生活中的例子:
• 教室裡的學生人數(你不可能有 25.5 個學生!)
• 遊戲中的玩家分數(例如:500 分)
• 當前年份(例如:2024 年)

快速複習:以下哪一個是整數?
12, -5, 0, 10.5
(答案:12、-5 和 0 都是整數。10.5 不是,因為它帶有小數點!)


2. Real(實數,也稱為浮點數 Float)

Real(實數)是指包含小數點的數字。在 Python 等程式語言中,它通常被稱為 float(浮點數),但在 AQA 考試中,你應該使用 Real(實數)這個術語。

現實生活中的例子:
• 商店中商品的價格(例如:$1.99)
• 人的身高(以米為單位,例如:1.75m)
• 溫度(例如:-3.4°C)

你知道嗎?即使一個數字本身是完整的,如果它被儲存為 Real,電腦也會把它視為 \(5.0\) 而不是單純的 \(5\)。


3. Boolean(布林值)

Boolean(布林值)是最簡單的數據類型。它永遠只有兩種可能的數值True(真)False(假)。可以把它想像成電燈開關——不是「開(ON)」就是「關(OFF)」。

現實生活中的例子:
• 用戶是否已登入?(True/False)
• 遊戲是否結束?(True/False)
• 用戶是否獲得高分?(True/False)

常見錯誤:學生常試著用「Yes」或「No」來表示布林邏輯。但在程式設計中,請務必堅持使用 TrueFalse


4. Character(字元)

Character(字元)單個符號。它可以是一個字母、一個數字或是一個特殊符號(例如標點符號)。在程式碼中,它幾乎總是被單引號包圍。

現實生活中的例子:
• 考試等級(例如:'A')
• 性別縮寫(例如:'M' 或 'F')
• 鍵盤上的按鍵(例如:'s')

關鍵點:數字 '7' 也可以是一個字元!如果它被儲存為字元,在將其轉換回整數之前,你是無法對它進行數學運算的。


5. String(字串)

String(字串)一連串的字元序列。它用於儲存文字。試著把它想像成一串「珠子」,每一顆珠子都是一個單獨的字元。字串通常用雙引號包圍。

現實生活中的例子:
• 人的姓名(例如:"Alice")
• 密碼(例如:"P@ssw0rd123")
• 電話號碼(等等,為什麼是字串?因為我們不會對電話號碼進行數學運算,且它們通常以零開頭!)

鼓勵語:如果你覺得區分「字元 (Character)」和「字串 (String)」有點困難,只要記住:字元 (Character)單個項目,而 字串 (String) 是項目的集合


比較總結表

使用這個「快速複習」表來檢查你對這些類型差異的理解:

數據類型:Integer | 例子: \(10\) | 用途:計算完整項目。
數據類型:Real | 例子: \(10.5\) | 用途:精確測量或金額。
數據類型:Boolean | 例子: \(True\) | 用途:是/否條件判斷。
數據類型:Character | 例子: \('A'\) | 用途:單個字母或符號。
數據類型:String | 例子: \("Hello"\) | 用途:單詞、句子或 ID。


應避免的常見錯誤

1. 混淆 "7" (字串) 與 7 (整數):
如果你有一個字串 "7",並試圖加上 1,電腦會感到困惑並崩潰!
• \("7" + "1" = "71"\)(這稱為串接 (Concatenation)——即連接文字)
• \(7 + 1 = 8\)(這是加法——即數學運算)
務必確保你使用了正確的類型來完成任務!

2. 忘記 Real 數是小數:
在考試中,如果問題詢問用什麼數據類型來儲存「班級平均分數」,請務必選擇 Real,因為平均數幾乎總會產生小數!


最終總結

• Integer(整數)是完整數值 (0, 1, 2, -5)。
• Real(實數)包含小數點 (1.5, -0.9)。
• Boolean(布林值)只有 True 或 False。
• Character(字元)是單個字母或符號 ('B')。
• String(字串)是字元或文字的集合 ("Computer Science")。