• Kotlin中循环语句


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

    1. while循环:
    var n: Int = 5
    while (n > 0) {
        println("n=$n")
        n--
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5

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

    1. do-while循环:
    n = 5
    do {
        println("n=$n")
        n--
    } while (n > 0)
    
    • 1
    • 2
    • 3
    • 4
    • 5

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

    1. for循环:
    for (i in 0..3) {
        println("i=$i")
    }
    
    • 1
    • 2
    • 3

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

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

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

    1. 循环嵌套打印:
    for (i in 1..5) {
        for (j in 1..i) {
            print("*")
        }
        println()
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

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

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

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

    1. 带角标forEach:
    intArray.forEachIndexed { index, it -> print("index=$index,it=$it \t") }
    println()
    
    • 1
    • 2

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

    1. break跳出循环:
    n = 5
    while (n > 0) {
        print("n=$n \t") // n=5 	n=4 	n=3
        if (n == 3) break
        n--
    }
    println()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    上述代码中,使用while循环打印n的值,当n等于3时,使用break语句跳出循环。

    1. 跳出外层循环:
    loop@ for (i in 0..9) {
        for (j in 0..i) {
            if (i > 4) {
                break@loop
            }
            print("*")
        }
        println()
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

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

    1. continue终止本次循环:
    var sum: Int = 0
    for (i in 1 until 101) {
        if (i % 2 == 0) {
            continue
        }
        sum += i
    }
    println("sum=$sum") // sum=2500
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    上述代码中,使用for循环计算1到100之间的奇数的和,当遇到偶数时,使用continue语句终止本次循环。

    1. 全部代码:
    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
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82
    • 83
    • 84
    • 85
    • 86
    • 87
    • 88
    • 89
    • 90
    • 91

    以上是Kotlin中循环语句的使用示例,根据不同的需求可以选择适合的循环形式来实现相应的逻辑。

  • 相关阅读:
    题解——01背包问题例题(装箱问题、宠物小精灵之收服)
    06【工厂设计模式】
    用FIR滤波器设计数字微分器和数字希尔伯特变换器
    1.2 C++编译器对指针的解释方式(深度理解c++指针)
    C++模拟OpenGL库——图片处理及纹理系统(三):图片缩放操作:简单插值&二次线性插值
    1.1小程序内置tabbar和自定义tabbar区别
    Java8新特性——Lambda表达式
    PointSIFT: A SIFT-like Network Module for 3D Point Cloud Semantic Segmentation
    kafka知识笔记
    【MySQL系列】使用C语言来连接数据库
  • 原文地址:https://blog.csdn.net/qq_29752857/article/details/133897781