1-while循环
语法 伪代码如下:
[init_statements]
while(test_expression) {
body_statements
[iteration_statements]
}
Content copied to clipboard
while每次执行循环体之前,都会对test_expression布尔表达式求值,
如果为true,则执行循环体部分
如果为false,则不执行循环体部分
fun main() {
var count = 1 // [init_statements] 初始化语句
while (count <= 5) { // test_expression 布尔条件表达式
println("当前 count = $count") // body_statements 循环体
count++ // [iteration_statements] 迭代语句
}
println("循环结束,最终 count = $count")
}
Content copied to clipboard
从某种意义来说,while循环也可以被当作条件语句(当条件一开始为false,则循环体根本不会被执行) 示例:
fun main() {
//循环的初始化条件
var count = 0
while(count<10) {
println("count: $count")
//迭代语句
count++
}
println("循环结束")
}
Content copied to clipboard
一定要保证有条件为假的时候,否则会陷入死循环
fun main() {
var count = 0
while(count<20) {
println("count: count")
//迭代语句
count--
}
println("永远无法跳出循环体")
}
Content copied to clipboard
如果循环体只有一条语句,{}
可以省略
fun main() {
//循环的初始条件
var count = 0
//当count<10时执行循环体
while(count<10)
println("count: ${count++}")
}
Content copied to clipboard
与前面if分支类似,如果省略了{}
,那么while只控制紧跟该循环的第一条语句. 极端情况下,如果while后跟;
,那么这是一个空循环体,这意味着紧跟while及后面的代码都不会执行,并且可能陷入死循环