📜  Kotlin while和do … while循环

📅  最后修改于: 2020-10-05 15:03:08             🧑  作者: Mango

循环在编程中用于重复特定的代码块。在本文中,您将学习在Kotlin编程中创建while和do … while循环。

循环在编程中用于重复特定的代码块,直到满足特定条件(测试表达式为false)

循环使计算机成为有趣的机器。想象一下,您需要在屏幕上打印一个句子50次。好吧,您可以通过使用print语句50次(不使用循环)来做到这一点。您需要打印一百万次句子怎么样?您需要使用循环。

您将在示例的帮助下学习whiledo..while两个循环。

如果您熟悉Java中的while和do … while循环,那么您也已经熟悉Kotlin中的这些循环。


Kotlin while Loop

while循环的语法为:

while (testExpression) {
    // codes inside body of while loop
}

while循环如何工作?

括号内的测试表达式是布尔表达式。

如果测试表达式的值为true

  • while循环内的语句将被执行。
  • 然后,再次评估测试表达式。

这个过程一直进行到测试表达式被评估为false为止。

如果测试表达式的计算结果为false

  • while循环终止。

While循环流程图

Kotlin而Loop流程图


示例:Kotlin while循环

// Program to print line 5 times

fun main(args: Array) {

    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) {

    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做… while循环

do...while循环类似于while循环, while有一个关键区别。 do...while循环的主体在检查测试表达式之前执行一次。

其语法为:

do {
   // codes inside body of do while loop
} while (testExpression);

… while循环如何工作?

do构造体内的代码只执行一次(无需检查testExpression )。然后,检查测试表达式。

如果将测试表达式评估为true ,则执行循环体内的代码,然后再次评估测试表达式。这个过程一直进行到测试表达式被评估为false为止。

当测试表达式的计算结果为falsedo..while循环终止。


do … while循环流程图

Kotlin do ... while循环流程图


示例:Kotlin do … while循环

下面的程序计算用户输入的数字总和,直到用户输入0。

为了接受用户的输入,使用了readline() 函数 。 推荐读物: Kotlin基本输入法

fun main(args: Array) {

    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