歡迎來到資料類型(Data Types)的世界!

你好!在開始編寫複雜的程式之前,你需要先了解資訊的基本構成要素。你可以把資料類型想像成各種不同形狀的容器。你不會嘗試把一公升的牛奶裝進一個扁平的信封裡,對吧?同樣地,電腦也需要確切知道資料的「形狀」,這樣它才知道該如何儲存這些資料,以及能對這些資料執行什麼操作。

在本指南中,我們將為你拆解 Oxford AQA 考試中必須掌握的關鍵資料類型。別擔心內容看起來很多——等你讀完後,這些概念就會變得像本能一樣自然!

1. 什麼是資料類型?

資料類型是一種分類方式,它告訴電腦變數中儲存的是哪種值。它主要決定了兩件事:
1. 所需的記憶體大小
2. 可以執行的運算(例如,你可以將兩個數字相乘,但你無法將兩個名字相乘!)。

2. 必備的資料類型

課程大綱要求你理解並使用這六種特定的資料類型。讓我們逐一查看。

整數 (Integer)

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

現實生活例子: 班級人數 (25)、你的年齡 (17),或是電子遊戲中的分數 (500)。
記憶小撇步: 把 Integer 的第一個字母 "I" 想像成 "1"——代表一個完整的整數!

實數 / 浮點數 (Real / Float)

雖然有些程式語言稱其為 浮點數 (Float)(即「浮動小數點」的簡稱),但課程大綱也使用 實數 (Real) 這個術語。這些是帶有小數點的數字。

現實生活例子: 朱古力棒的價格 (1.50)、你的身高(以米為單位,如 1.75),或圓周率的值 (3.14)。
常見錯誤: 在處理金錢時使用整數。務必為價格使用實數/浮點數,因為它們幾乎總是需要小數!

布林值 (Boolean)

布林值 (Boolean) 是最簡單的資料類型。它只能是兩個值中的其中一個:True(真)False(假)

現實生活例子: 燈亮著嗎?(True)。使用者登入了嗎?(False)。
類比: 把布林值想像成一個標準的電燈開關。它不是「開 (UP)」就是「關 (DOWN)」,沒有中間地帶。

字元 (Character)

字元 (Character) 是一個單一的字母、數字或符號。在許多程式語言中,它通常被放在單引號內。

現實生活例子: 'A'、'7'、'$',甚至是空格 ' '。

字串 (String)

字串 (String) 是一串字元序列。把它想像成一串「珠子」,每一顆珠子都是一個字元。字串主要用於處理文字。

現實生活例子: "Hello World"、"Computer Science",甚至是電話號碼 "0123456789"(這裡我們使用字串是因為我們不打算對電話號碼進行數學運算!)。

日期 / 時間 (Date / Time)

此類型用於儲存特定的時間點或日曆日期。

現實生活例子: 25/12/2024 或 14:30:00。

快速複習:「六大核心」

整數 (Integer): 整數 (10)
實數/浮點數 (Real/Float): 小數 (10.5)
布林值 (Boolean): True/False
字元 (Character): 單一符號 ('A')
字串 (String): 文字 ("Hello")
日期/時間 (Date/Time): 日曆/時鐘資訊 (01/01/2025)

3. 更改類型(型別轉換 / Casting)

有時候,你接收到的資料是某種類型,但你需要將其轉換為另一種類型。例如,當使用者將年齡輸入到電腦時,電腦通常會將其視為 字串 ("17"),但你需要將其轉換為 整數 (17) 來判斷他們是否達到投票年齡。這個過程稱為 轉換 (conversion)型別轉換 (casting)

根據你的課程大綱,你需要具備以下轉換能力:

字串轉整數: "123" 變成 123
字串轉浮點數: "12.5" 變成 12.5
整數轉字串: 100 變成 "100"
浮點數轉字串: 9.99 變成 "9.99"
日期/時間轉字串: 讓日期在句子中變得可讀。
字串轉日期/時間: 將輸入的文字轉換為日曆格式。

4. 操作字串

由於字串是非常常見的資料類型,你需要知道如何處理它們。以下是你必須熟悉的運算:

長度 (Length): 計算字串中有多少個字元(例如,"Apple" 的長度為 5)。
位置 (Position): 查找特定字元的位置(例如,在 "Apple" 中,'A' 位於位置 0)。
子字串 (Substring): 從長字串中提取一部分(例如,從 "Apple" 中取出 "App")。
串接 (Concatenation): 將兩個字串合併在一起(例如,"Hello " + "World" = "Hello World")。

5. 字元編碼 (Character Codes)

你知道嗎? 電腦其實不懂字母!它們只懂數字(二進制)。每個 字元 都分配有一個秘密的數字代碼。

字元轉字元編碼: 將 'A' 轉換為其數字(在 ASCII 中,'A' 是 65)。
字元編碼轉字元: 將數字 65 轉換回 'A'。

提示: 你將在「資料呈現 (Representing Data)」章節中學到更多內容,但現在只要記住,鍵盤上的每個按鍵都對應一個唯一的數字即可。

總結:關鍵重點

1. 環境很重要: 選擇最適合你所儲存資訊的資料類型,以節省記憶體並防止錯誤。
2. 整數 vs 實數: 如果你需要計算數量,請使用 整數 (Integer)。如果你需要測量數值,請使用 實數 (Real)
3. 布林值即邏輯: 在程式中遇到任何「是否」或「開/關」的情況時,請使用 布林值 (Boolean)
4. 字串是集合: 字串 (String) 只是一組連接在一起的 字元 (Characters)
5. 類型提示 (Type Hinting): 如果你使用 Python,可以使用「類型提示」(如 age: int = 17)來追蹤你的資料類型,雖然考試不嚴格要求你編寫它們,但這是一個好習慣。