循环在编程中用于重复执行一段代码,直到满足特定条件(测试表达式为 false
)。
循环是使计算机成为有趣机器的原因。假设您需要在屏幕上打印一条句子 50 次。嗯,您可以通过使用 print 语句 50 次(不使用循环)来实现。如果需要打印一条句子一百万次呢?您需要使用循环。
在本文中,您将通过示例学习两种循环:while
和 do..while
。
如果您熟悉 Java 中的 while 和 do...while 循环,那么您也已经熟悉了 Kotlin 中的这些循环。
Kotlin while 循环
while
循环的语法是
while (testExpression) { // codes inside body of while loop }
while 循环如何工作?
括号内的测试表达式是一个 布尔 表达式。
如果测试表达式被评估为 true
,
- 则执行 while 循环内的语句。
- 然后,再次评估测试表达式。
这个过程一直持续到测试表达式被评估为 false
。
如果测试表达式被评估为 false
,
- 则终止 while 循环。
while 循环的流程图
示例:Kotlin while 循环
// Program to print line 5 times
fun main(args: Array<String>) {
var i = 1
while (i <= 5) {
println("Line $i")
++i
}
}
运行程序后,输出将是
Line 1 Line 2 Line 3 Line 4 Line 5
请注意,while
循环内的 ++i
语句。在 5 次迭代后,变量 i 将增加到 6。然后,评估测试表达式 i <= 5
为 false
,循环终止。
如果循环体只有一条语句,则不必使用大括号 { }
。
示例:计算自然数之和
// Program to compute the sum of natural numbers from 1 to 100.
fun main(args: Array<String>) {
var sum = 0
var i = 100
while (i != 0) {
sum += i // sum = sum + i;
--i
}
println("sum = $sum")
}
运行程序后,输出将是
sum = 5050
在这里,变量 sum 初始化为 0,i 初始化为 100。在 while 循环的每次迭代中,变量 sum 被赋值为 sum + i
,并且 i 的值减 1,直到 i 等于 0。为了更好地可视化,
1st iteration: sum = 0+100 = 100, i = 99 2nd iteration: sum = 100+99 = 199, i = 98 3rd iteration: sum = 199+98 = 297, i = 97 ... .. ... ... .. ... 99th iteration: sum = 5047+2 = 5049, i = 1 100th iteration: sum = 5049+1 = 5050, i = 0 (then loop terminates)
要了解更多关于测试表达式及其评估方式的信息,请访问 比较 和 逻辑运算符。
Kotlin do...while 循环
do...while
循环与 while
循环类似,但有一个关键区别。do...while
循环的循环体会在检查测试表达式之前执行一次。
其语法为
do { // codes inside body of do while loop } while (testExpression);
do...while 循环如何工作?
do
结构内的代码会执行一次(不检查 testExpression)。然后,检查测试表达式。
如果测试表达式被评估为 true
,则执行循环体内的代码,并再次评估测试表达式。这个过程一直持续到测试表达式被评估为 false
。
当测试表达式被评估为 false
时,do..while
循环终止。
do...while 循环的流程图
示例:Kotlin do...while 循环
下面的程序计算用户输入的数字之和,直到用户输入 0。
要从用户那里获取输入,请使用 readline()
函数。推荐阅读: Kotlin 基本输入
fun main(args: Array<String>) {
var sum: Int = 0
var input: String
do {
print("Enter an integer: ")
input = readLine()!!
sum += input.toInt()
} while (input != "0")
println("sum = $sum")
}
运行程序时,输出可能如下所示:
Enter an integer: 4 Enter an integer: 3 Enter an integer: 2 Enter an integer: -6 Enter an integer: 0 sum = 3