Kotlin 流程控制:循环与分支的使用
在 Kotlin 中,流程控制包括循环结构和分支结构,用于控制代码的执行顺序。以下是 Kotlin 中常用的循环与分支结构的介绍:
循环结构
for
循环:
for
循环用于遍历集合或区间。// 遍历区间
for (i in 1..5) {
println(i) // 输出 1 到 5
}
// 遍历数组
val array = arrayOf("a", "b", "c")
for (element in array) {
println(element) // 输出 a, b, c
}
// 使用 `withIndex`
for ((index, value) in array.withIndex()) {
println("Index: $index, Value: $value")
}
while
循环:
while
循环在给定条件为true
时重复执行代码块。var x = 5
while (x > 0) {
println(x)
x--
}
do-while
循环:
do-while
循环至少执行一次,因为条件是判断在循环体之后的。var y = 5
do {
println(y)
y--
} while (y > 0)
分支结构
if
表达式:
if
可以用作表达式,有返回值,也可以用作语句。val a = 5
val b = 10
val max = if (a > b) a else b
println("Max: $max")
// 也可以带有 `else if` 和 `else`
val result = if (a > b) {
"a is greater"
} else if (a == b) {
"a is equal to b"
} else {
"b is greater"
}
println(result)
when
表达式:
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 not 1, 2, 3, 4 or in the range 5-10")
}
// 用作表达式
val y = when (x) {
1 -> "one"
2 -> "two"
else -> "unknown"
}
println("y is $y")
return
,break
, 和continue
:return
结束函数执行并返回结果。break
退出循环。continue
跳过当前循环的余下部分,继续下一次迭代。
for (i in 1..10) {
if (i == 5) break // 跳出循环
if (i % 2 == 0) continue // 跳过偶数
println(i) // 输出 1, 3
}
通过这些流程控制结构,Kotlin 提供了一种简洁而灵活的方式来编写条件逻辑和循环代码。