不断学习,做更好的自己!💪

循环控制语句也是每门语言不可缺少的一部分,Java 中主要有两种循环语句:while 循环和 for 循环。Kotlin 循环其实几乎和 Java 一模一样。
【Kotlin -- 知识点】循环控制_android

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 ")
}
// 输出结果:偶数
}