在Kotlin中,循环语句有多种形式,包括while循环、do-while循环、for循环等。下面将逐个说明每种形式的使用。
var n: Int = 5
while (n > 0) {
println("n=$n")
n--
}
上述代码中,使用while循环打印n的值,每次循环n减1,直到n变为0。
n = 5
do {
println("n=$n")
n--
} while (n > 0)
上述代码中,使用do-while循环打印n的值,先执行循环体,然后判断条件n是否大于0,如果成立则继续循环,否则结束循环。
for (i in 0..3) {
println("i=$i")
}
上述代码中,使用for循环打印i的值,i的取值范围是0到3。循环体内部可以对i进行操作和处理。
for (i in 0..3) println("i=>$i\n")
上述代码中,使用for循环简写形式,直接在循环语句后面写入需要执行的语句。
for (i in 1..5) {
for (j in 1..i) {
print("*")
}
println()
}
上述代码中,使用两层循环实现打印星号(*)的图形,外层循环控制行数,内层循环控制每行的星号数量。
var intArray: IntArray = intArrayOf(1, 2, 3, 4)
intArray.forEach { print("$it \t") } // 1 2 3 4
println()
上述代码中,使用forEach循环遍历数组intArray,对每个元素执行指定的操作。
intArray.forEachIndexed { index, it -> print("index=$index,it=$it \t") }
println()
上述代码中,使用forEachIndexed循环遍历数组intArray,同时获取元素的索引和值,并执行指定的操作。
n = 5
while (n > 0) {
print("n=$n \t") // n=5 n=4 n=3
if (n == 3) break
n--
}
println()
上述代码中,使用while循环打印n的值,当n等于3时,使用break语句跳出循环。
loop@ for (i in 0..9) {
for (j in 0..i) {
if (i > 4) {
break@loop
}
print("*")
}
println()
}
上述代码中,使用两层循环打印星号(*)的图形,当外层循环的i大于4时,使用break@loop语句跳出外层循环。
var sum: Int = 0
for (i in 1 until 101) {
if (i % 2 == 0) {
continue
}
sum += i
}
println("sum=$sum") // sum=2500
上述代码中,使用for循环计算1到100之间的奇数的和,当遇到偶数时,使用continue语句终止本次循环。
fun main() {
// while循环
var n: Int = 5
while (n > 0) {
println("n=$n")
// n=5
// n=4
// n=3
// n=2
// n=1
n--
}
// do while至少执行一次
n = 5
do {
println("n=$n")
// n=5
// n=4
// n=3
// n=2
// n=1
n--
} while (n > 0)
// for 循环四次,步长为1,0..3标识[0,3]
for (i in 0..3) {
println("i=$i")
// i=0
// i=1
// i=2
// i=3
}
// 循环语句只有一句,简写
for (i in 0..3) println("i=>$i\n")
// 循环嵌套打印
/*
*
**
***
****
*****
* */
for (i in 1..5) {
for (j in 1..i) {
print("*")
}
println()
}
// 普通 forEach
var intArray: IntArray = intArrayOf(1, 2, 3, 4)
intArray.forEach { print("$it \t") } // 1 2 3 4
println()
// 带角标 forEach
// index=0,it=1 index=1,it=2 index=2,it=3 index=3,it=4
intArray.forEachIndexed { index, it -> print("index=$index,it=$it \t") }
println()
// brank跳出循环
n = 5
while (n > 0) {
print("n=$n \t") // n=5 n=4 n=3
if (n == 3) break
n--
}
println()
// 跳出外层循环
loop@ for (i in 0..9) {
for (j in 0..i) {
if (i > 4) {
break@loop
}
print("*")
}
println()
}
// continue终止本次循环
var sum: Int = 0
for (i in 1 until 101) {
if (i % 2 == 0) {
continue
}
sum += i
}
println("sum=$sum") //sum=2500
}
以上是Kotlin中循环语句的使用示例,根据不同的需求可以选择适合的循环形式来实现相应的逻辑。