循环就是多次重复性的执行同一个代码块
for循环
for 循环可以对任何提供迭代器(iterator)的对象进行遍历
for (item in collection) {
print(item)
}
//collection可以是集合、数组、区间
collection是区间
for (item in 1..10) {
print(item)
}
collection 是集合
var list = listOf<Int>(1, 3, 4, 5, 6)
for (item in list) {
print(item)
}
通过索引变量集合
var list = listOf<Int>(1, 3, 4, 5, 6)
for (item in list.indices) {
print(list[item])
}
或者你可以用库函数 withIndex:
var list = listOf<Int>(1, 3, 4, 5, 6)
for ((index, value) in list.withIndex()) {
print(index)
print(value)
}
While 循环
while 循环的语法为:
while (expression) {
// while循环体内的代码
}
括号内的测试表达式是布尔表达式。
如果测试表达式的计算结果为true,
- while 循环内的语句将被执行。
- 然后,再次对测试表达式求值。
这个过程一直进行到测试表达式被评估为 false 为止。
如果测试表达式的计算结果为false,
- while循环终止。
while (x < 6) {
// while循环体内的代码
println(x)
x++
}
do... while循环
do...while循环类似于while一个关键区别在于循环。do...while循环主体在检查测试表达式之前执行一次。
do...while循环的语法为:
do {
//do while循环体内的代码
}
do主体内的代码执行一次(不检查testExpression)。 然后,检查测试表达式。
如果将 测试表达式 评估为true,则执行循环体内的代码,然后再次评估测试表达式。这个过程一直进行到测试表达式被评估为false为止。
当测试表达式评估为时false,do..while循环终止。
do {
// while循环体内的代码
println(x)
x++
} while (x < 6)