循环结构:for、while、do-while
循环是编程中控制流程的重要结构,Kotlin 提供了多种循环方式,包括 for、while 和 do-while。本章将详细介绍这些循环的语法和使用场景。
1. for 循环
for 循环用于遍历集合或范围中的元素,语法简洁且功能强大。
基本语法
for (item in collection) {
// 循环体
}
示例
- 遍历范围:
for (i in 1..5) {
println(i) // 输出 1 到 5
}
- 遍历集合:
val fruits = listOf("Apple", "Banana", "Orange")
for (fruit in fruits) {
println(fruit)
}
- 带索引遍历:
for ((index, fruit) in fruits.withIndex()) {
println("$index: $fruit")
}
- 步长控制:
for (i in 1..10 step 2) {
println(i) // 输出 1, 3, 5, 7, 9
}
- 倒序遍历:
for (i in 5 downTo 1) {
println(i) // 输出 5 到 1
}
2. while 循环
while 循环在条件为真时重复执行代码块,适合不确定循环次数的场景。
基本语法
while (condition) {
// 循环体
}
示例
var count = 0
while (count < 5) {
println("Count: $count")
count++
}
3. do-while 循环
do-while 循环与 while 类似,但会先执行一次循环体,再检查条件。
基本语法
do {
// 循环体
} while (condition)
示例
var num = 0
do {
println("Number: $num")
num++
} while (num < 3)
4. 循环控制语句
Kotlin 提供了 break 和 continue 来控制循环的执行:
break:终止当前循环。continue:跳过当前迭代,进入下一次循环。
示例
for (i in 1..10) {
if (i == 5) break // 当 i 为 5 时终止循环
if (i % 2 == 0) continue // 跳过偶数
println(i) // 输出 1, 3
}
5. 循环的嵌套与标签
Kotlin 允许为循环添加标签,以便在嵌套循环中精确控制 break 或 continue。
示例
outer@ for (i in 1..3) {
inner@ for (j in 1..3) {
if (i == 2 && j == 2) break@outer // 终止外层循环
println("i=$i, j=$j")
}
}
总结
| 循环类型 | 适用场景 | 特点 |
|---|---|---|
for | 遍历集合或范围 | 简洁,支持步长和倒序 |
while | 条件满足时循环(可能不执行) | 先检查条件 |
do-while | 至少执行一次,再检查条件 | 后检查条件 |
通过灵活使用这些循环结构,可以高效处理重复性任务。在实际开发中,优先选择 for 遍历集合,而 while 和 do-while 更适合条件驱动的场景。
