歡迎來到資料型態的世界!

在本章中,我們將探討電腦科學中最基本的建構模組之一:資料型態(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。