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

相关推荐
珹洺12 分钟前
Java-Spring入门指南(五)Spring自动装配
android·java·spring
MetaverseMan13 分钟前
Golang单例模式和工厂模式详解
开发语言·golang·适配器模式
sylvia_081521 分钟前
react native 初次使用Android Studio 打包
android·react native·android studio
杏花春雨江南27 分钟前
Spring Cloud Gateway 作为一个独立的服务进行部署吗
java·开发语言
GSDjisidi28 分钟前
东京本社招聘 | 财务负责人 & 多个日本IT岗位(Java/C++/Python/AWS 等),IT营业同步招募
java·开发语言·aws
skywalk816329 分钟前
copyparty 是一款使用单个 Python 文件实现的内网文件共享工具,具有跨平台、低资源占用等特点,适合需要本地化文件管理的场景
开发语言·python
BYSJMG34 分钟前
计算机毕设选题:基于Python+MySQL校园美食推荐系统【源码+文档+调试】
大数据·开发语言·python·mysql·django·课程设计·美食
Zz_waiting.38 分钟前
案例开发 - 日程管理 - 第七期
开发语言·前端·javascript·vue.js·html·路由
writeone39 分钟前
9-10关于JS初学产生的问题
开发语言·javascript·ecmascript
前行的小黑炭40 分钟前
Android:在项目当中可能会遇到的ANR,应该如何解决?
android·java·kotlin