昨天已經介紹一部分Kotlin的語法,今天我們來把剩下的部分補齊,然後就能正式邁入APP開發的部分了,其實官方的文件還有提供很多Kotlin的語法和用法,但若是要全部都探討的一遍,這這篇鐵人賽的主題可能見會變成Kotlin語法學習和應用了,所以後續若是有用到沒提過的語法,我們在單獨出來簡易說明一下。
在 Kotlin 中,when
表達式是一個強大的控制流結構,類似於其他語言中的 switch 語句,但更靈活且功能更強大。when
不僅可以處理常數值,還可以處理多種條件,並且它可以作為一個表達式返回值。
when
可以用來替代多個 if-else if
結構,根據不同的值執行對應的代碼,同時當所有條件都不匹配時的「預設」情況,類似於 default 在其他語言的 switch 中。如果沒有對應條件時,else 會執行。val y = 5
when (y) {
1 -> println("y is 1")
2 -> println("y is 2")
else -> println("y is neither 1 nor 2")
}
執行結果如下
y is neither 1 nor 2
val z = 2
when (z) {
0, 1 -> println("z is 0 or 1")
2, 3 -> println("z is 2 or 3")
else -> println("z is neither 0, 1, 2, nor 3")
}
執行結果如下
z is 2 or 3
when
不僅可以比較常數值,還可以使用條件來判斷。val number = -10
when {
number > 0 -> println("Number is positive")
number < 0 -> println("Number is negative")
else -> println("Number is zero")
}
執行結果如下
Number is negative
when
可以作為表達式,返回值並賦值給變數。val x = 3
val result = when (x) {
1 -> "one"
2 -> "two"
else -> "unknown"
}
println(result)
執行結果如下
unknown
when
可以用 in
關鍵字來檢查值是否在某個範圍內。val score = 75
when (score) {
in 90..100 -> println("Grade: A")
in 80..89 -> println("Grade: B")
in 70..79 -> println("Grade: C")
else -> println("Grade: F")
}
執行結果如下
Grade: C
when
還可以用來檢查變數的類型。val obj: Any = "Hello"
when (obj) {
is String -> println("It's a string!")
is Int -> println("It's an integer!")
else -> println("Unknown type")
}
執行結果如下
It's a string!
在 Kotlin 中,class 是用來定義物件的結構與行為的關鍵字。類別可以包含屬性(變數)和方法(函式),並且支援繼承、多型等物件導向的特性。
class Person {
var name: String = ""
var age: Int = 0
fun sayHello() {
println("Hello, my name is $name and I am $age years old.")
}
}
要使用類別,需要創建類別的物件,然後訪問其屬性和方法。
fun main() {
val person = Person()
person.name = "Alice"
person.age = 25
person.sayHello()
}
輸出結果如下
Hello, my name is Alice and I am 25 years old.
class Person {
var name: String
var age: Int
constructor(name: String, age: Int) {
this.name = name
this.age = age
}
fun sayHello() {
println("Hello, my name is $name and I am $age years old.")
}
}
fun main() {
val person = Person("Charlie", 40)
person.sayHello()
}
open class Animal {
open fun makeSound() {
println("Animal sound")
}
}
class Dog : Animal() {
override fun makeSound() {
println("Woof")
}
}
fun main() {
val dog = Dog()
dog.makeSound()
}
data class User(val name: String, val age: Int)
fun main() {
val user = User("Eve", 22)
println(user)
}
今天的內容就到這邊告一段落,明天會開始介紹如何使用Android Studio來建立一個你自己的APP,並稍微使用一下Android Studio內建的功能和模擬機,如果有幸你能看到這邊,那一樣祝你早安、午安、晚安,讓我們明天再見了。