在 Kotlin 中實現 Switch Case 語句
本文將介紹如何在 Kotlin 中實現一個 switch case
。Kotlin 語言沒有任何 switch
語句。相反,它支援更簡單的 when
語句。它是 Kotlin 等價於 Java 的 switch
語句。替換 Kotlin 中的 switch
語句背後的想法是使程式碼更易於理解。但在進入 when
語句之前,讓我們先看看 Java switch case
的使用。
示例程式碼:
class Playground {
public static void main(String[] args) {
int n = 1;
switch (n) {
case 0:
System.out.println("Invalid");
break;
case 1:
System.out.println("Valid");
break;
default:
System.out.println("Number should be 0 or 1.");
break;
}
}
}
輸出:
Valid
switch
語句減少了程式碼,因為我們不必使用 if...else if
條件。Kotlin 使用 when
語句進一步簡化了這一點。這是在 Kotlin 中使用 when
獲得與前面的 Java 示例相同的結果的程式碼。
示例程式碼:
fun main(args: Array<String>) {
val n = 1
when (n) {
0 -> print("Invalid")
1 -> print("Valid")
else -> {
print("Number should be 0 or 1.")
}
}
}
輸出:
Valid
如果我們確定輸入的數字來自給定的案例,我們也可以從程式碼中刪除 else
部分。Kotlin when
語句中的 else
類似於 Java switch
語句中的 default
。除了使用 when
作為標準語句外,我們還可以將它用於不同的目的,例如在單個語句中提供多個選項、不帶引數的分支條件、檢查變數的型別等。我們將逐一介紹這些情況。
在 Kotlin 中為 when
語句提供兩個或多個選項
在 switch
語句中,我們可以一次將一個 case 與給定值匹配。但是在 Kotlin 中使用 when
時,我們可以通過用逗號分隔每個選項來為單個案例提供多個選項。在下面的示例中,我們將為數字 1 和 2 列印 Valid。
示例程式碼:
fun main(args: Array<String>) {
val n = 2
when (n) {
0-> print("Invalid")
1, 2 -> print("1 and 2 are Valid")
}
}
輸出:
1 and 2 are Valid
將分支條件應用於 Kotlin 中的 when
使用 Kotlin when
語句,我們還可以應用分支條件。假設我們需要將一個案例與一系列選項進行匹配;我們可以使用分支條件來做到這一點。如果條件為真,則執行 case 後面的語句。這是相同的演示。
示例程式碼:
fun main(args: Array<String>) {
val n = 3
when (n) {
0 -> print("Invalid")
1 -> print("Invalid")
in 2..4 -> print("Numbers 2 through 4 are Valid")
}
}
輸出:
Numbers 2 through 4 are Valid
由於數字是 3,它滿足條件 in 2..4
。因此,條件的列印語句顯示為輸出。但是如果滿足兩個條件呢?在這種情況下,只會執行第一個真正的條件,其餘的將被忽略。
示例程式碼:
fun main(args: Array<String>) {
val n = 3
when (n) {
0 -> print("Invalid")
1 -> print("Invalid")
in 2..4 -> print("Numbers 2 through 4 are Valid")
in 1..4 -> print("Numbers 1 through 4 are Valid")
}
}
輸出:
Numbers 2 through 4 are Valid
儘管這兩個條件都為真,但編譯器將只執行上述情況下第一個條件的 print 語句。
在 Kotlin 中使用不需要引數的 when
我們也可以使用 when
表示式而不給出任何引數。這意味著我們可以使用表示式然後開始編寫程式碼塊來執行。我們可以在塊中編寫條件語句。當條件為真時,執行相鄰的語句。這就像執行許多條件語句但只執行第一個為真的條件語句。
示例程式碼:
fun main(args: Array<String>) {
val n = 3
when {
n < 4 -> print("Number is less than 4")
n > 4 -> print("Number is greater than 4")
}
}
輸出:
Number is less than 4
使用 when
表示式檢查資料型別
通過在 Kotlin 中使用 when
表示式,我們可以檢查所提供變數的資料型別。它是在條件分支方法的幫助下完成的。我們將使用有助於型別檢查變數的 is
條件。
示例程式碼:
fun main(args: Array<String>) {
var n: Any = 2
when(n){
is Int -> println("Integer")
is String -> println("String")
is Double -> println("Double")
}
}
輸出:
Integer
Kailash Vaviya is a freelance writer who started writing in 2019 and has never stopped since then as he fell in love with it. He has a soft corner for technology and likes to read, learn, and write about it. His content is focused on providing information to help build a brand presence and gain engagement.
LinkedIn