Kotlin控制流语句
在编程中,控制流语句用于控制程序的执行顺序。Kotlin提供了多种控制流语句,包括条件语句、循环语句和跳转语句。这些语句可以帮助你根据不同的条件执行不同的代码块,或者重复执行某些代码块。
条件语句
条件语句用于根据条件执行不同的代码块。Kotlin中的条件语句包括 if
和 when
。
if
语句
if
语句用于根据条件执行不同的代码块。它的基本语法如下:
if (condition) {
// 条件为真时执行的代码
} else {
// 条件为假时执行的代码
}
示例:
val number = 10
if (number > 0) {
println("数字是正数")
} else {
println("数字是负数或零")
}
输出:
数字是正数
在Kotlin中,if
语句还可以作为表达式使用,返回一个值。例如:
val result = if (number > 0) "正数" else "负数或零"
println(result)
输出:
正数
when
语句
when
语句类似于其他语言中的 switch
语句,但功能更强大。它可以根据不同的条件执行不同的代码块。基本语法如下:
when (expression) {
value1 -> {
// 当 expression 等于 value1 时执行的代码
}
value2 -> {
// 当 expression 等于 value2 时执行的代码
}
else -> {
// 当 expression 不等于任何值时执行的代码
}
}
示例:
val day = 3
when (day) {
1 -> println("星期一")
2 -> println("星期二")
3 -> println("星期三")
else -> println("其他")
}
输出:
星期三
when
语句也可以作为表达式使用,返回一个值。例如:
val dayType = when (day) {
1, 2, 3, 4, 5 -> "工作日"
6, 7 -> "周末"
else -> "无效"
}
println(dayType)
输出:
工作日
循环语句
循环语句用于重复执行某些代码块。Kotlin中的循环语句包括 for
和 while
。
for
循环
for
循环用于遍历集合或范围。基本语法如下:
for (item in collection) {
// 遍历集合中的每个元素时执行的代码
}
示例:
val numbers = listOf(1, 2, 3, 4, 5)
for (number in numbers) {
println(number)
}
输出:
1
2
3
4
5
你还可以使用 for
循环遍历一个范围。例如:
for (i in 1..5) {
println(i)
}
输出:
1
2
3
4
5
while
循环
while
循环用于在条件为真时重复执行代码块。基本语法如下:
while (condition) {
// 条件为真时执行的代码
}
示例:
var i = 1
while (i <= 5) {
println(i)
i++
}
输出:
1
2
3
4
5
在使用 while
循环时,务必确保循环条件最终会变为假,否则会导致无限循环。
do-while
循环
do-while
循环与 while
循环类似,但它会先执行一次代码块,然后再检查条件。基本语法如下:
do {
// 先执行一次代码块
} while (condition)
示例:
var i = 1
do {
println(i)
i++
} while (i <= 5)
输出:
1
2
3
4
5
跳转语句
跳转语句用于改变程序的执行顺序。Kotlin中的跳转语句包括 break
、continue
和 return
。
break
语句
break
语句用于立即终止循环。它通常与 if
语句一起使用,用于在满足某个条件时退出循环。
示例:
for (i in 1..10) {
if (i == 5) {
break
}
println(i)
}
输出:
1
2
3
4
continue
语句
continue
语句用于跳过当前循环的剩余部分,直接进入下一次循环。
示例:
for (i in 1..5) {
if (i == 3) {
continue
}
println(i)
}
输出:
1
2
4
5
return
语句
return
语句用于从函数中返回一个值,并终止函数的执行。
示例:
fun checkNumber(number: Int): String {
return if (number > 0) {
"正数"
} else {
"负数或零"
}
}
println(checkNumber(10))
输出:
正数
实际案例
假设你正在开发一个简单的猜数字游戏,用户需要猜一个1到100之间的随机数。你可以使用控制流语句来实现这个游戏。
import kotlin.random.Random
fun main() {
val randomNumber = Random.nextInt(1, 101)
var guess: Int
var attempts = 0
println("猜数字游戏开始!")
do {
print("请输入你猜的数字(1-100):")
guess = readLine()?.toIntOrNull() ?: 0
attempts++
when {
guess < randomNumber -> println("猜小了!")
guess > randomNumber -> println("猜大了!")
else -> println("恭喜你,猜对了!你用了 $attempts 次尝试。")
}
} while (guess != randomNumber)
}
输出示例:
猜数字游戏开始!
请输入你猜的数字(1-100):50
猜大了!
请输入你猜的数字(1-100):25
猜小了!
请输入你猜的数字(1-100):37
猜大了!
请输入你猜的数字(1-100):31
恭喜你,猜对了!你用了 4 次尝试。
总结
Kotlin中的控制流语句包括条件语句、循环语句和跳转语句。通过合理使用这些语句,你可以控制程序的执行顺序,实现复杂的逻辑。在实际开发中,控制流语句是编写高效、可读性强的代码的关键。
附加资源与练习
- 练习1:编写一个Kotlin程序,使用
for
循环打印1到100之间的所有偶数。 - 练习2:编写一个Kotlin程序,使用
when
语句判断一个年份是否为闰年。 - 练习3:修改猜数字游戏,限制用户最多只能猜10次,如果10次内没有猜中,则游戏结束。
通过完成这些练习,你将更好地掌握Kotlin中的控制流语句。