Kotlin的遍历方法

for循环

在下面代码中1...10表示的是1到10,两边都是闭包,输出12345678910

java 复制代码
        for (i in 1..10) println(i)

加上花括号也支持

java 复制代码
        for (i: Int in 1..10) {
            println(i)
        }

另外,当对整数进行for循环时,Kotlin还提供了一个step函数来定义迭代的步长:

java 复制代码
        for (i in 1..10 step 2) print(i)
        13579

如果是倒序呢?也没有问题,可以用downTo方法来实现

java 复制代码
       for (i in 10 downTo 1 step 2) print(i) // 通过downTo,而不是10..1
        108642

此外,还有一个until函数来实现一个半开区间:

java 复制代码
       for (i in 1 until 10) { print(i) }
        123456789 // 并不包含10

in

可以使用in来判断成员关系

java 复制代码
println("a" in arrayOf("q","w","p")) //false
println("a" in arrayOf("q","a","p")) //true
println("a" !in arrayOf("q","w","p")) //true

除了等和不等,in还可以结合范围表达式来表示更多的含义:

java 复制代码
        "kot" in "abc".."xyz"
        true

上面代码在java中的表达式为

java 复制代码
        "kot" >= "abc" && "abc" <= "xyz"

此外,我们还可以通过调用一个withIndex方法,提供一个键值元组:

java 复制代码
        for ((index, value) in array.withIndex()) {
            println("the element at $index is $value")
        }
相关推荐
mjhcsp19 小时前
C++状压 DP解析
开发语言·c++·动态规划·状压 dp
Roc.Chang19 小时前
Rust 入门 - RustRover 新建项目时四种项目模板对比
开发语言·后端·rust
故事和你9119 小时前
sdut-程序设计基础Ⅰ-实验三while循环(1-10)
开发语言·数据结构·c++·算法·类和对象
前端小D19 小时前
面向对象编程
开发语言·javascript
新缸中之脑19 小时前
使用 AI 进行科学调试
android·人工智能·kotlin
艾莉丝努力练剑19 小时前
静态地址重定位与动态地址重定位:Linux操作系统的视角
java·linux·运维·服务器·c语言·开发语言·c++
跟着珅聪学java20 小时前
Electron + Vue 现代化“新品展示“和“快捷下单“菜单
开发语言·前端·javascript
泡沫_cqy20 小时前
Java初学者文档
java·开发语言
前进的李工20 小时前
数据库视图:数据安全与权限管理利器
开发语言·数据库·mysql·navicat
C_心欲无痕20 小时前
使用 XLSX.js 导出 Excel 文件
开发语言·javascript·excel