Android学习(四)-Kotlin编程语言-for循环

在编程中,熟悉 Java 的开发者应该知道,Java 循环语句:for 循环。Kotlin 也提供循环语句,但 for 循环在 Kotlin 中进行了大幅改进,重点学习 Kotlin 中增强的 for-in 循环。

Kotlin 中的 for-in 循环
区间概念

在 Kotlin 中,区间是一种非常有用的特性。你可以使用以下语法来创建一个区间:

Kotlin 复制代码
val range = 0..10

这里的 0..10 表示从 0 到 10 的闭区间,即包含 0 和 10。用数学符号表示为 [0, 10]。

  • 双端闭区间 :使用 .. 创建,例如 0..10。
  • 左闭右开区间 :使用 until 创建,例如 0 until 10,表示 [0, 10)。
遍历区间

我们可以使用 for-in 循环来遍历区间中的每个元素。例如,在 main 函数中编写如下代码:

Kotlin 复制代码
fun main() {
    for (i in 0..10) {
        println(i)
    }
}

这段代码会遍历从 0 到 10 的所有整数,并逐个打印出来。

左闭右开区间

有时候,我们需要使用左闭右开区间,特别是在处理数组下标时。可以使用 until 关键字来创建这样的区间:

Kotlin 复制代码
fun main() {
    for (i in 0 until 10) {
        println(i)
    }
}

这里 0 until 10 表示从 0 到 9 的区间,不会包括 10。

步长控制

默认情况下,for-in 循环每次递增 1。如果你需要改变步长,可以使用 step 关键字:

Kotlin 复制代码
fun main() {
    for (i in 0 until 10 step 2) {
        println(i)
    }
}

上述代码会从 0 开始,每次递增 2,输出结果为 0, 2, 4, 6, 8。

降序遍历

如果你想创建一个降序区间,可以使用 downTo 关键字:

Kotlin 复制代码
fun main() {
    for (i in 10 downTo 1) {
        println(i)
    }
}

这段代码会从 10 开始,每次递减 1,输出结果为 10, 9, 8, ..., 1。

结合 step 使用

降序区间也可以结合 step 关键字使用,以实现更复杂的循环逻辑:

Kotlin 复制代码
fun main() {
    for (i in 10 downTo 1 step 2) {
        println(i)
    }
}

这段代码会从 10 开始,每次递减 2,输出结果为 10, 8, 6, 4, 2。

遍历数组和集合

除了遍历区间,for-in 循环还可以用来遍历数组和集合。例如:

Kotlin 复制代码
fun main() {
    val names = arrayOf("Tom", "Jim", "Jack", "Lily")
    for (name in names) {
        println(name)
    }
}

这段代码会遍历数组 names 中的每个元素,并逐个打印出来。

总结

Kotlin 的 for-in 循环虽然不如传统的 for-i 循环灵活,但更加简洁易用,并且能够覆盖大部分常见的循环场景。通过区间、步长和降序等功能,for-in 循环可以实现各种复杂的循环逻辑。希望这些内容能帮助你更好地理解和使用 Kotlin 中的循环语句!

相关推荐
dadaobusi11 小时前
学习: PCIe 6.0 的 L0p
学习
燕落南枝13 小时前
CSS 学习:类型选择器与 AI 注释实战
css·人工智能·学习
芝麻别开门13 小时前
gst-shark安卓编译使用方法
android·gstreamer·gst-shark
2501_9159214316 小时前
iOS应用耗电测试:使用Energy Log、Keymob和Instruments进行性能监控与能源消耗分析
android·ios·小程序·https·uni-app·iphone·webview
Swilderrr17 小时前
论文精读:《Directory-Aware Query and Maintenance in Vector Databases》
笔记·学习
kkkkkkkkkk_Z17 小时前
新手自学嵌入式 | 学习日记:LCD显示原理、PWM控制、电容触摸屏(GT9147)驱动开发与项目实战
驱动开发·学习
蒲公英内测分发17 小时前
热成像仪交付客户后,Android 配套 App 不上架,怎么持续下载安装和更新
android·机器人·项目管理·智能家居·智能硬件
脚踏实地,坚持不懈!17 小时前
Android 常见性能问题总结
android
LXT71218 小时前
每日英语一读|为什么夏天的雷雨,总爱在傍晚出现?
深度学习·学习
知识分享小能手18 小时前
C学习教程,从入门到精通,C语言文件 — 完整知识点详解(14)
c语言·网络·学习