Kotlin 编程语言中的 While 循环

While loop in Kotlin Programming Language

在我的 kotlin 代码中出现类型不匹配(推断类型为 Int 但应为布尔值)错误。

fun main(args: Array<String>) {
   var i = args.size 
   while (i--){
    println(args[i])
   }
}

您必须提供一个布尔值作为 while 的参数。在 Kotlin 中没有 IntBoolean 的自动转换。

所以你不能做 while(i--),但是你可以,例如,做 while(i-- != 0)while(i-- > 0)

虽然需要一个布尔值 (true/false),但您给出了一个整数 (i-1)。正确的代码可能是:

fun main(args: Array<String>) {
   var i = args.size 
   while (i>=0){
    println(args[i])
    i--
   }
}

Kotlin while loops manual

while (x > 0) {
    x--
}

do {
    val y = retrieveData()
} while (y != null) // y is visible here!