Kotlin中循环语句

在Kotlin中,循环语句有多种形式,包括while循环、do-while循环、for循环等。下面将逐个说明每种形式的使用。

  1. while循环:
kotlin 复制代码
var n: Int = 5
while (n > 0) {
    println("n=$n")
    n--
}

上述代码中,使用while循环打印n的值,每次循环n减1,直到n变为0。

  1. do-while循环:
kotlin 复制代码
n = 5
do {
    println("n=$n")
    n--
} while (n > 0)

上述代码中,使用do-while循环打印n的值,先执行循环体,然后判断条件n是否大于0,如果成立则继续循环,否则结束循环。

  1. for循环:
kotlin 复制代码
for (i in 0..3) {
    println("i=$i")
}

上述代码中,使用for循环打印i的值,i的取值范围是0到3。循环体内部可以对i进行操作和处理。

  1. 循环语句只有一句,简写:
kotlin 复制代码
for (i in 0..3) println("i=>$i\n")

上述代码中,使用for循环简写形式,直接在循环语句后面写入需要执行的语句。

  1. 循环嵌套打印:
kotlin 复制代码
for (i in 1..5) {
    for (j in 1..i) {
        print("*")
    }
    println()
}

上述代码中,使用两层循环实现打印星号(*)的图形,外层循环控制行数,内层循环控制每行的星号数量。

  1. 普通forEach:
kotlin 复制代码
var intArray: IntArray = intArrayOf(1, 2, 3, 4)
intArray.forEach { print("$it \t") } // 1 	2 	3 	4
println()

上述代码中,使用forEach循环遍历数组intArray,对每个元素执行指定的操作。

  1. 带角标forEach:
kotlin 复制代码
intArray.forEachIndexed { index, it -> print("index=$index,it=$it \t") }
println()

上述代码中,使用forEachIndexed循环遍历数组intArray,同时获取元素的索引和值,并执行指定的操作。

  1. break跳出循环:
kotlin 复制代码
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语句跳出循环。

  1. 跳出外层循环:
kotlin 复制代码
loop@ for (i in 0..9) {
    for (j in 0..i) {
        if (i > 4) {
            break@loop
        }
        print("*")
    }
    println()
}

上述代码中,使用两层循环打印星号(*)的图形,当外层循环的i大于4时,使用break@loop语句跳出外层循环。

  1. continue终止本次循环:
kotlin 复制代码
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语句终止本次循环。

  1. 全部代码:
kotlin 复制代码
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中循环语句的使用示例,根据不同的需求可以选择适合的循环形式来实现相应的逻辑。

相关推荐
yanyanwenmeng7 分钟前
matlab基础
开发语言·算法·matlab
末央&23 分钟前
【C++】内存管理
java·开发语言·c++
不是仙人的闲人26 分钟前
Qt日志输出及QsLog日志库
开发语言·数据库·qt
SevenUUp27 分钟前
Android Manifest权限清单
android
高林雨露28 分钟前
Android 检测图片抓拍, 聚焦图片后自动完成拍照,未对准图片的提示请将摄像头对准要拍照的图片
android·拍照抓拍
wilanzai32 分钟前
Android View 的绘制流程
android
八了个戒32 分钟前
【TypeScript入坑】TypeScript 的复杂类型「Interface 接口、class类、Enum枚举、Generics泛型、类型断言」
开发语言·前端·javascript·面试·typescript
梦想科研社41 分钟前
【无人机设计与控制】四旋翼无人机轨迹跟踪及避障Matlab代码
开发语言·matlab·无人机
Yan-英杰42 分钟前
Encountered error while trying to install package.> lxml
开发语言·python·pandas·pip·issue
卡卡_R-Python1 小时前
海洋气象编程工具-Python
开发语言·python