
- Kotlin 教程
- Kotlin - 首頁
- Kotlin - 概述
- Kotlin - 環境搭建
- Kotlin - 架構
- Kotlin - 基本語法
- Kotlin - 註釋
- Kotlin - 關鍵字
- Kotlin - 變數
- Kotlin - 資料型別
- Kotlin - 運算子
- Kotlin - 布林值
- Kotlin - 字串
- Kotlin - 陣列
- Kotlin - 範圍
- Kotlin - 函式
- Kotlin 控制流
- Kotlin - 控制流
- Kotlin - if...else 表示式
- Kotlin - when 表示式
- Kotlin - for 迴圈
- Kotlin - while 迴圈
- Kotlin - break 和 continue
- Kotlin 集合
- Kotlin - 集合
- Kotlin - 列表
- Kotlin - 集合
- Kotlin - 對映
- Kotlin 物件和類
- Kotlin - 類和物件
- Kotlin - 建構函式
- Kotlin - 繼承
- Kotlin - 抽象類
- Kotlin - 介面
- Kotlin - 可見性控制
- Kotlin - 擴充套件
- Kotlin - 資料類
- Kotlin - 密封類
- Kotlin - 泛型
- Kotlin - 委託
- Kotlin - 解構宣告
- Kotlin - 異常處理
- Kotlin 有用資源
- Kotlin - 快速指南
- Kotlin - 有用資源
- Kotlin - 討論
Kotlin - 字串
Kotlin 的字串資料型別用於儲存一系列字元。字串值必須用雙引號 (" ") 或三引號 (""" """) 括起來。
Kotlin 中有兩種字串:一種稱為跳脫字元串,另一種稱為原始字串。
跳脫字元串用雙引號 (" ") 宣告,可能包含跳脫字元,如 '\n'、'\t'、'\b' 等。
原始字串用三引號 (""" """) 宣告,可以包含多行文字,無需任何跳脫字元。
示例
fun main(args: Array<String>) { val escapedString : String = "I am escaped String!\n" var rawString :String = """This is going to be a multi-line string and will not have any escape sequence"""; print(escapedString) println(rawString) }
執行上述 Kotlin 程式後,將生成以下輸出
I am escaped String! This is going to be a multi-line string and will not have any escape sequence
為字串指定資料型別是可選的,Kotlin 可以根據給定的雙引號或三引號識別變數是字串。
如果要建立未賦值的字串變數,則必須在宣告變數時指定型別,否則會報錯。
fun main(args: Array<String>) { val name : String name = "Zara Ali" println(name) }
執行上述 Kotlin 程式後,將生成以下輸出
Zara Ali
Kotlin 字串模板
Kotlin 字串模板是可以評估其結果並將其插入到字串中的程式碼片段。模板表示式以美元符號 ($) 開頭,可以包含名稱或表示式。
fun main(args: Array<String>) { val name : String = "Zara Ali" println("Name - $name") // Using template with variable name println("Name length - ${name.length}") // Using template with expression. }
執行上述 Kotlin 程式後,將生成以下輸出
Name - Zara Ali Name length - 8
Kotlin 字串物件
Kotlin 字串是一個物件,它包含許多屬性和函式,可以透過在特定字串變數後編寫點字元 (.) 來對字串執行某些操作。
本章將介紹一些重要的屬性和函式,其餘內容可在 Kotlin 最新版本的官方文件中找到。
Kotlin 字串索引
Kotlin 字串可以被視為一系列字元,或者可以說字串是字元陣列。可以使用方括號指定元素的索引來訪問其元素。
字串索引從 0 開始,因此如果要訪問字串的第 4 個元素,則應將索引指定為 3 以訪問第 4 個元素。
示例
fun main(args: Array<String>) { val name : String = "Zara Ali" println(name[3]) println(name[5]) }
執行上述 Kotlin 程式後,將生成以下輸出
a A
Kotlin 字串長度
我們可以使用 Kotlin 字串的length屬性來查詢其長度。
Kotlin 函式count()也返回給定字串的長度。
示例
fun main(args: Array<String>) { val name : String = "Zara Ali" println("The length of name :" + name.length) println("The length of name :" + name.count()) }
執行上述 Kotlin 程式後,將生成以下輸出
The length of name :8 The length of name :8
Kotlin 字串最後一個索引
我們可以使用 Kotlin 字串的lastIndex屬性來查詢字元序列中最後一個字元的索引。如果字串為空,則返回 -1。
示例
fun main(args: Array<String>) { val name : String = "Zara Ali" println("The index of last character in name :" + name.lastIndex) }
執行上述 Kotlin 程式後,將生成以下輸出
The index of last character in name :7
更改字串的大小寫
Kotlin 提供了toUpperCase()和toLowerCase()函式,分別用於將字串轉換為大寫和小寫。
示例
fun main(args: Array<String>) { val name : String = "Zara Ali" println("Upper case of name :" + name.toUpperCase()) println("Lower case of name :" + name.toLowerCase()) }
執行上述 Kotlin 程式後,將生成以下輸出
Upper case of name :ZARA ALI Lower case of name :zara ali
Kotlin 字串連線
我們可以使用+運算子連線兩個字串,也可以使用plus()函式連線兩個字串。
示例
fun main(args: Array<String>) { var firstName : String = "Zara " var lastName : String = "Ali" println("Full Name :" + firstName + lastName) println("Full Name :" + firstName.plus(lastName) ) }
執行上述 Kotlin 程式後,將生成以下輸出
Full Name :Zara Ali Full Name :Zara Ali
從字串中修剪字元
我們可以使用drop()或dropLast()函式從字串中刪除前幾個或後幾個字元。
示例
fun main(args: Array<String>) { var name : String = "Zara Ali" println("Remove first two characters from name : " + name.drop(2)) println("Remove last two characters from name : " + name.dropLast(2)) }
執行上述 Kotlin 程式後,將生成以下輸出
Remove first two characters from name : ra Ali Remove last two characters from name : Zara A
字串中的引號
要在字串中使用引號,請使用單引號 (')
示例
fun main(args: Array<String>) { var str1 : String = "That's it" var str2 : String = "It's OK" println("str1 : " + str1) println("str2 : " + str2) }
執行上述 Kotlin 程式後,將生成以下輸出
str1 : That's it str2 : It's OK
在字串中查詢字串
Kotlin 提供了indexOf()函式來查詢字串中的文字。此函式返回字串中指定文字第一次出現的索引。
示例
fun main(args: Array<String>) { var str : String = "Meditation and Yoga are synonymous with India" println("Index of Yoga in the string - " + str.indexOf("Yoga")) }
執行上述 Kotlin 程式後,將生成以下輸出
Index of Yoga in the string - 15
比較兩個字串
Kotlin 提供了compareTo()函式來比較兩個字串。如果兩個字串相等,則此函式返回 0,否則返回 1。
示例
fun main(args: Array<String>) { var str1 : String = "Apple" var str2 : String = "Apple" println(str1.compareTo(str2)) }
執行上述 Kotlin 程式後,將生成以下輸出
0
Kotlin getOrNull() 函式
Kotlin 的getOrNull()函式返回給定索引處的字元,如果索引超出此字元序列的範圍,則返回 null。
示例
fun main(args: Array<String>) { var name : String = "Zara" println(name.getOrNull(0)) println(name.getOrNull(2)) println(name.getOrNull(100)) }
執行上述 Kotlin 程式後,將生成以下輸出
Z r null
Kotlin toString() 函式
Kotlin 的toString()函式返回物件的字串表示形式。
示例
fun main(args: Array<String>) { var name : String = "Zara Ali" println(name.toString()) }
執行上述 Kotlin 程式後,將生成以下輸出
Zara Ali
測驗時間 (面試與考試準備)
答案:D
解釋
所有提到的語句關於控制流都是正確的。