歡迎來到字串的世界!
在電腦科學中,我們使用字串 (String) 這個詞來描述任何一段文字。它可以是一個字母、一整句話,甚至是一個包含數字和符號的密碼。在本指南中,我們將學習如何「處理」字串——這基本上意味著對它們進行切片、連接和測量,以確保我們的程式能精確地執行我們想要的任務!
你可以把字串想像成一條珠子項鍊。每一顆珠子都是一個字元(字母、空格或符號)。讀完這些筆記後,你將會成為計算珠子數量、挑選特定珠子,甚至將它們轉換為數字的專家。讓我們開始吧!
1. 測量字串:長度 (Length)
長度 (Length) 運算可以告訴我們一個字串中總共有多少個字元。這包括字母、數字、標點符號,甚至是空格!
它是如何運作的:
想像一下字串 "Pizza Pie"。
P (1), i (2), z (3), z (4), a (5), [空格] (6), P (7), i (8), e (9)。
所以它的長度是 9。
快速回顧:
別忘了空格!電腦將空格視為與字母 'A' 一樣的字元。如果你忘了計算空格,算出來的長度就會出錯喔。
重點總結: 長度 (Length) 給出字串中每一個字元的總數。
2. 尋找字元:位置 (Position)
位置 (Position)(有時稱為索引,indexing)讓我們能夠找到特定字元在字串中的位置。
如果起初覺得有點怪怪的,別擔心…… 電腦有點特別。它們不是從 1 開始數,而是從 0 開始!這稱為零索引 (zero-indexing)。
「置物櫃」類比:
想像一排學校的置物櫃。第一個置物櫃編號是 0,第二個是 1,以此類推。要找到一個字母的「位置」,你只需要找到它的置物櫃編號即可。
例子:"CODA"
C 位於位置 0
O 位於位置 1
D 位於位置 2
A 位於位置 3
常見錯誤: 許多學生會認為一個 4 個字母的單字,最後一個字母是在位置 4。但實際上它是在位置 3,因為我們是從 0 開始數的!
重點總結: 第一個字元永遠位於 位置 0。
3. 進行切片:子字串 (Substring)
子字串 (Substring) 是較大字串的一小部分。就像是從文字中「截取」出一段一樣。
要取得子字串,你通常需要告訴電腦兩件事:
1. 從哪裡開始(位置)。
2. 要取出多少個字元(切片的長度)。
例子:讓我們從 "Chocolate" 中取出一個子字串。
如果我們從位置 0 開始,並取出 4 個字元...
C (0), h (1), o (2), c (3)
結果就是 "Choc"。
重點總結: 子字串 (Substring) 讓你能夠從較長的字串中「切下」一段特定的文字。
4. 連接字串:串接 (Concatenation)
串接 (Concatenation) 是一個專業術語,意思就是將兩個或多個字串連接起來變成一個長字串。你可以把它想像成把兩個樂高積木拼在一起,或是用膠水把它們黏住。
步驟範例:
1. 取出字串 A:"Super"
2. 取出字串 B:"Hero"
3. 將它們串接 (Concatenate)。
4. 結果:"SuperHero"
你知道嗎? 如果你想在單字之間加一個空格,你必須自己加上去!串接 "Hello" 和 "World" 會得到 "HelloWorld"。要得到 "Hello World",你必須連接 "Hello" + " " + "World"。
重點總結: 串接 (Concatenation) + 膠水 = 連接後的文字。
5. 字元與編碼 (Characters and Codes)
電腦實際上並不認識字母,它們只認識數字。每個字元都有一個特殊的「ID 編號」,稱為字元編碼 (character code)(使用如 ASCII 或 Unicode 等系統)。
將字元轉換為字元編碼
此運算會讀取一個字母並告訴你它的秘密數字。
例子:在 ASCII 中,字元 'A' 會轉換為編碼 65。
將字元編碼轉換為字元
這剛好相反!你輸入一個數字,它會告訴你對應的字母。
例子:編碼 97 會轉換為字元 'a'。
記憶小撇步: A = 65。如果你記住大寫 'A' 是 65,你就能推算出 'B' 是 66,而 'C' 是 67!
重點總結: 這些運算就像是人類字母與電腦數字系統之間的翻譯官。
6. 字串轉換運算
有時候,我們儲存的數字是文字格式(字串),但我們需要用它來進行數學運算。又或者,我們得到了一個數字結果,想要把它當作句子的一部分顯示出來。這時我們就需要使用轉換運算 (conversion operations)。
1. 字串轉整數 (String to Integer): 將 "10"(文字)轉換為 10(可以用來加減的整數)。
2. 字串轉實數 (String to Real): 將 "3.14"(文字)轉換為 3.14(帶有小數點的數值)。
3. 整數轉字串 (Integer to String): 將數字 50 轉換為文字 "50",這樣它就可以連接到句子中。
4. 實數轉字串 (Real to String): 將 9.99 轉換為文字 "9.99"。
為什麼這很重要?
如果你嘗試將兩個字串(例如 "5" + "5")「相加」,串接可能會給你 "55"!如果你希望答案是 10,你必須先將它們轉換為整數。
快速回顧框:
- 整數 (Integer) = 整數(例如 7)
- 實數 (Real) = 小數(例如 7.5)
- 字串 (String) = 文字(例如 "7")
重點總結: 轉換讓你能夠改變資料類型 (data types),以便你用數字進行數學計算,並用字串進行文字顯示。
總結檢查清單
你能解釋這 7 個概念嗎?
1. 長度 (Length): 有多少個字元?
2. 位置 (Position): 字元在哪裡?(記得從 0 開始!)
3. 子字串 (Substring): 字串的一小部分切片。
4. 串接 (Concatenation): 將字串連接在一起。
5. 字元轉編碼 (Character to Code): 字母 \(\rightarrow\) 數字。
6. 編碼轉字元 (Code to Character): 數字 \(\rightarrow\) 字母。
7. 轉換 (Conversions): 在字串、整數和實數類型之間轉換。