數據類型簡介
歡迎!今天我們要探討的是數據類型 (Data Types)。在電腦科學中,數據其實就是資訊。但這裡有個重點:電腦可不像人類那麼聰明!如果你看到數字 10,你知道它可能是年齡、價格,或是句子的一部分。但電腦需要我們明確告訴它這屬於哪種「類型」的數據,它才知道該如何處理。
你可以把數據類型想像成廚房裡的儲存容器。你不會把牛奶放進多士爐裡,對吧?同樣道理,你也不會嘗試用文字來進行數學運算。看完這些筆記,你就會精準掌握該為你的數據選擇哪個容器了!
1. 五大基本數據類型
為了應付 OCR 考試,你需要掌握這五種基本類型。讓我們逐一拆解:
整數 (Integer)
整數是指任何沒有小數點的整數。它可以是正數、負數或零。
例子: 7, -15, 0, 1066
實際應用: 班級人數、人的年齡、遊戲分數。
實數 (Real)
在某些程式語言中,這些被稱為「浮點數 (Floats)」,但在考試中,我們使用實數 (Real) 這個術語。這類數字包含小數點。
例子: 3.14, -0.5, 10.0 (即使是 .0,它仍然是實數!)
實際應用: 商品價格 ($1.99)、以米為單位的身高 (1.75m)。
布林值 (Boolean)
布林值只有兩個可能的值:真 (True) 或 假 (False)。就像電燈開關一樣——只有「開」或「關」。
例子: True, False
實際應用: 用戶是否已登入?(True/False)、遊戲是否結束?(True/False)。
字元 (Character)
字元是單一的字母、數字或符號。
例子: 'A', 'z', '!', '5'
實際應用: 在選單中選擇 'Y' 或 'N'、中間名的首字母。
字串 (String)
字串是一組字元的集合。想像成一串「珠子」,每一顆珠子都是一個字元。字串通常會用引號括起來。
例子: "Hello World", "Computer Science", "User123"
實際應用: 姓名、地址、密碼。
記憶小撇步! 請記住口訣:"I Read Books, Comics, and Stories"
(Integer 整數, Real 實數, Boolean 布林值, Character 字元, String 字串)
快速複習:
• 整數 (Integer):整數。
• 實數 (Real):帶小數的數字。
• 布林值 (Boolean):真/假。
• 字元 (Character):單一符號。
• 字串 (String):多個符號組成的文字。
2. 選擇正確的數據類型
在考試中,你可能會被要求為特定情況選擇最佳數據類型。如果覺得困惑,別擔心,只要問自己:「它有小數點嗎?它是純文字嗎?它是是非題嗎?」
常見錯誤:電話號碼
注意! 你可能會認為像 07123456789 這樣的電話號碼是整數 (Integer),因為它由數字組成。但實際上,它應該是字串 (String)!為什麼呢?
1. 整數會自動刪除開頭的零(導致號碼錯誤!)。
2. 你從不需要對電話號碼進行數學運算(你不會把兩個電話號碼加在一起)。
經驗法則: 如果你不需要對它進行數學運算,且號碼以零開頭,請使用字串!
你知道嗎?
電腦為不同的數據類型分配不同大小的記憶體空間。整數通常比實數佔用的空間更少,這就是為什麼選擇正確的類型能讓程式執行得更快!
3. 型別轉換 (Casting)
型別轉換 (Casting) 是將數據從一種類型手動更改為另一種類型的過程。這就像是一種魔法,可以把字串變成整數。
為什麼需要型別轉換?
當你透過鍵盤在電腦輸入資料時,電腦通常會將這些輸入視為字串 (String)。如果你輸入數字 "10",電腦會將其視為文字而非數值。你無法將數字 5 加到文字 "10" 上!你必須先把它「轉換 (cast)」為整數 (Integer)。
Python 風格的型別轉換範例:
• int("10") → 將字串 "10" 轉換為整數 10。
• str(15.5) → 將實數 15.5 轉換為字串 "15.5"。
• float(5) → 將整數 5 轉換為實數 5.0。
步驟範例:
1. 用戶輸入:"18"(這是一個字串)。
2. 程式使用 int() 進行轉換:18(現在變成整數)。
3. 現在程式可以進行數學運算了,例如:18 + 1 = 19。
核心觀念: 當你需要改變電腦「理解」數據的方式,以便以特定方式使用它(例如進行運算或將其串接到句子中)時,就要使用型別轉換。
最終總結清單
在繼續學習之前,確保你能:
• 識別五大主要數據類型(整數、實數、布林值、字元、字串)。
• 為給定的資訊選擇最合適的數據類型。
• 解釋什麼是型別轉換 (Casting) 以及它的用途(特別是針對用戶輸入)。
• 記住電話號碼和郵遞區號通常是字串,而非數字!
做得好!你已經掌握了程式如何處理資訊的基礎。繼續練習在你自己的程式碼中識別這些類型吧!