更新於 2024/06/29閱讀時間約 5 分鐘

Kotlin入門-Day6:流程控制

if, else if, else

Kotlin 的 if 語句和其他語言類似,可以用來執行條件判斷。if 可以用作表達式,因此可以直接賦值。

val a = 10
val b = 5

// 基本用法
if (a > b) {
println("a is greater than b")
} else if (a < b) {
println("a is less than b")
} else {
println("a is equal to b")
}

// 作為表達式
val max = if (a > b) a else b
println("The maximum value is $max")

三元運算子

Kotlin 沒有傳統的三元運算子 ? :,但可以使用 if 表達式來實現相同的功能。

val a = 10
val b = 5

val result = if (a > b) "a is greater" else "b is greater"
println(result)

when語句

Kotlin 使用 when 語句來替代 switch 語句。它功能更強大,支持多種條件。

val x = 2

when (x) {
1 -> println("x is 1")
2 -> println("x is 2")
3, 4 -> println("x is 3 or 4")
in 5..10 -> println("x is between 5 and 10")
else -> println("x is out of range")
}

// 作為表達式
val result = when (x) {
1 -> "One"
2 -> "Two"
else -> "Other"
}
println(result)

for迴圈

for 迴圈用於迭代集合或範圍。

// 迭代範圍
for (i in 1..5) {
println(i)
}

// 迭代集合
val items = listOf("apple", "banana", "cherry")
for (item in items) {
println(item)
}

// 迭代帶索引的集合
for ((index, item) in items.withIndex()) {
println("Item at $index is $item")
}

while迴圈

while 迴圈在條件為真時執行。

var i = 0
while (i < 5) {
println(i)
i++
}

// do-while 迴圈至少執行一次
do {
println(i)
i--
} while (i > 0)

循環嵌套

可以在一個迴圈內嵌套另一個迴圈。

for (i in 1..3) {
for (j in 1..3) {
println("i = $i, j = $j")
}
}

控制迴圈語句

break

break 用於跳出最近的迴圈。

for (i in 1..5) {
if (i == 3) break
println(i)
}

continue

continue 用於跳過當前迭代並進入下一次迭代。

for (i in 1..5) {
if (i == 3) continue
println(i)
}

return

return 用於從函數中返回。

fun example() {
for (i in 1..5) {
if (i == 3) return
println(i)
}
println("This line will not be executed")
}

example()

標籤

標籤用於標識一個迴圈或代碼塊,可以與 breakcontinue 一起使用來控制外部迴圈。

loop@ for (i in 1..5) {
for (j in 1..5) {
if (i == 3 && j == 3) break@loop
println("i = $i, j = $j")
}
}

loop@ for (i in 1..5) {
for (j in 1..5) {
if (i == 3 && j == 3) continue@loop
println("i = $i, j = $j")
}
}
分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.