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 中的循环语句!

相关推荐
星释1 天前
二级等保实战:MySQL安全加固
android·mysql·安全
Chloeis Syntax1 天前
MySQL初阶学习日记(1)--- 数据库的基本操作
数据库·学习·mysql
musenh1 天前
css样式学习
css·学习·css3
Larry_Yanan1 天前
QML学习笔记(五十)QML与C++交互:QML中单例C++对象
开发语言·c++·笔记·qt·学习·ui·交互
im_AMBER1 天前
算法笔记 09
c语言·数据结构·c++·笔记·学习·算法·排序算法
Nan_Shu_6141 天前
学习:JavaScript(5)
开发语言·javascript·学习
民乐团扒谱机1 天前
实验室安全教育与管理平台学习记录(八)特种设备安全
学习·安全
喜欢吃燃面1 天前
C++:哈希表
开发语言·c++·学习
初圣魔门首席弟子1 天前
C++ STL list 容器学习笔记:双向链表的 “小火车“ 操控指南
c++·windows·笔记·学习