不断学习,做更好的自己!💪
循环控制语句也是每门语言不可缺少的一部分,Java 中主要有两种循环语句:while 循环和 for 循环。Kotlin 循环其实几乎和 Java 一模一样。
for 循环
for 循环可以对任何提供迭代器的对象进行遍历,for 循环仅以唯一一种形式存在,和 Java 的 for - each 循环一致。具体用法如下:
fun main() {
val list = listOf("android","java","kotlin")
// for-in 遍历
for (item in list) {
println(item)
}
// foreach 遍历元素
list.forEach {
println(it)
}
// forEachIndexed 遍历索引和元素
list.forEachIndexed { index, element ->
println("$index ==> $element")
}
}
while 和 do-while 循环
fun main() {
val list = listOf("android","java","kotlin")
var index = 0
// while 循环
/*while (index < list.size) {
println("The $index lang is ${list[index++]}")
}*/
// do-while 循环
do {
println("The $index lang is ${list[index++]}") // 先执行
}while (index < list.size)
}
迭代区间和数列
fun main() {
// 左右两端为闭区间 [1,10]
for (i in 1..10) {
print("$i ")
}
// 输出结果:1 2 3 4 5 6 7 8 9 10
println()
// 左端为闭区间,右端为开区间 [1,10)
for (i in 1 until 10) {
print("$i ")
}
// 输出结果:1 2 3 4 5 6 7 8 9
println()
// 在遍历[10, 1]这个区间,每次循环都会在区间范围内递减2
for (i in 10 downTo 1 step 2) {
print("$i ")
}
// 输出结果:10 8 6 4 2
}
循环中的 break 与 continue
- break: 终止最直接包围它的循环;
- continue:继续下一次循环,跳过本次循环。
fun main() {
// break
for (i in 1..10) {
if (i > 5){
break
}
print("$i ")
}
// 输出结果:1 2 3 4 5
println()
// continue
for (i in 1..100) {
if (i % 2 != 0){
continue
}
print("$i ")
}
// 输出结果:偶数
}