在Kotlin中,循环语句有多种形式,包括while循环、do-while循环、for循环等。下面将逐个说明每种形式的使用。
- while循环:
var n: Int = 5 while (n > 0) { println("n=$n") n-- }
上述代码中,使用while循环打印n的值,每次循环n减1,直到n变为0。
- do-while循环:
n = 5 do { println("n=$n") n-- } while (n > 0)
上述代码中,使用do-while循环打印n的值,先执行循环体,然后判断条件n是否大于0,如果成立则继续循环,否则结束循环。
- for循环:
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() }
上述代码中,使用两层循环实现打印星号(*)的图形,外层循环控制行数,内层循环控制每行的星号数量。
- 普通forEach:
var intArray: IntArray = intArrayOf(1, 2, 3, 4) intArray.forEach { print("$it \t") } // 1 2 3 4 println()
上述代码中,使用forEach循环遍历数组intArray,对每个元素执行指定的操作。
- 带角标forEach:
intArray.forEachIndexed { index, it -> print("index=$index,it=$it \t") } println()
上述代码中,使用forEachIndexed循环遍历数组intArray,同时获取元素的索引和值,并执行指定的操作。
- break跳出循环:
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语句跳出外层循环。
- continue终止本次循环:
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中循环语句的使用示例,根据不同的需求可以选择适合的循环形式来实现相应的逻辑。