歡迎來到資料型態的世界!
在本章中,我們將探討電腦科學中最基本的建構模組之一:資料型態(Data Types)。你可以把資料型態想像成程式設計世界的「容器」。就像你不會把湯裝進鞋盒,也不會把一雙鞋放進湯碗裡一樣,電腦需要確切地知道它正在處理的是哪種「種類」的資訊,才能正確地進行操作。
讀完這些筆記後,你將了解什麼是資料型態,以及如何為你的程式選擇正確的類型。如果一開始覺得內容很多,別擔心——一旦你掌握了當中的規律,這一切就會變得像呼吸一樣自然!
1. 什麼是資料型態?
資料型態是一種分類,用來告訴電腦該變數(儲存空間的名稱)所存放的是什麼類型的資料。這點非常重要,主要原因有二:
1. 記憶體(Memory): 它告訴電腦需要在記憶體中預留多少空間。
2. 運算(Operations): 它告訴電腦可以對這些資料做什麼。例如,你可以將兩個數字相乘,但你無法將兩個名字相乘!
現實生活中的類比: 想像你在填寫表格。如果欄位寫著「年齡」,你會預期填入一個數字。如果寫著「簽名」,你會填入字元。如果電腦試圖將你的「簽名」與「年齡」進行「加法」運算,它肯定會感到非常困惑!
2. 「核心六大」資料型態
牛津 AQA 教學大綱要求你理解並運用以下六種特定的資料型態。讓我們逐一拆解。
A. 整數 (Integer)
整數是沒有小數點的數。它可以是正數、負數或零。
範例: 10, -5, 0, 2024
最適用於: 你需要計算的事物,例如班級人數或電子遊戲的分數。
B. 實數 (Real / Float)
實數(在 Python 等程式語言中通常稱為 浮點數 Float)是指帶有小數點的數字。
範例: 3.14, -0.5, 99.9, 2.0 (即使小數部分是 .0,只要有小數點,它就是實數!)
最適用於: 度量衡數據,例如身高、體重或價格。
C. 布林值 (Boolean)
布林值是最簡單的資料型態。它只能持有兩個值中的其中一個:True(真) 或 False(假)。
範例: True, False
最適用於: 檢查條件或設定。例如:使用者是否已登入?(True)。遊戲結束了嗎?(False)。
D. 字元 (Character)
字元是一個單一的字母、數字或符號。通常用單引號括起來表示。
範例: 'A', '?', '3', ' ' (空白鍵也是一個字元!)
最適用於: 儲存單一輸入,例如選單選項('Y' 或 'N')。
E. 字串 (String)
字串是一連串連接在一起的字元序列。把它想像成一條項鍊,上面的每一顆珠子都是一個字元。字串通常用雙引號括起來。
範例: "Hello World", "Computer Science", "12345"
最適用於: 姓名、地址,或任何長度超過單一符號的文字。
F. 日期/時間 (Date/Time)
日期/時間資料型態是用來儲存……沒錯:日期和時間!它們很特別,因為電腦對待它們的方式不同於一般的數字或字串,以便處理日曆相關的計算。
範例: 25/12/2024, 14:30:00
最適用於: 記錄事件發生的時間或設定提醒事項。
3. 記憶法與小撇步
「項鍊」技巧: 如果你搞不懂字元 (Character) 和 字串 (String) 的差別,試著想想一條項鍊。一顆珠子就是一個字元。整條項鍊就是一個字串。
記憶口訣: 若要記住這六種型態,試試這句話:
I Really Believe Coding Should be Delightful! (我真的相信編程應該是愉快的!)
(Integer, Real, Boolean, Character, String, Date/Time)
4. 常見錯誤避雷區
1. 「數字-字串」陷阱: 看看這兩個:10 和 "10"。
前者是整數(你可以將它加上 5 得到 15)。
後者是字串(它只是文字)。如果你試圖將 5 加到 "10" 上,電腦通常會給你一個錯誤訊息!
2. 忘記小數: 如果題目要求儲存「平均分數 (Average Marks)」,千萬別選整數。平均數通常帶有小數,因此必須使用實數 (Real/Float)。
3. 布林值不是字串: True 是一個布林值。而 "True"(帶有引號)只是一串文字。請務必確認你的程式需要的是哪一個。
5. 快速回顧
快速複習盒:
• 整數? 使用 Integer。
• 小數? 使用 Real/Float。
• 是/否選項? 使用 Boolean。
• 單一符號? 使用 Character。
• 單字或句子? 使用 String。
• 日曆資訊? 使用 Date/Time。
總結:重點摘錄
- 資料型態告訴電腦正在儲存哪種資訊。
- 選擇正確的型態對於程式零錯誤運行以及高效使用記憶體至關重要。
- 字串是多個字元的集合;實數是帶有小數點的數;整數是沒有小數點的整數。
你知道嗎? 在許多程式語言中,一個布林值在記憶體中實際佔用的空間非常小(有時僅需一個位元!),因為它只需要表示兩種狀態:0 或 1。