Kotlin循环语句

QuibblerQuibbler 2020-06-08 约 4 分钟 2055 次阅读

Kotlin循环语句

每门语言都要学一下循环语句,虽然每种语言都有for、while等循环,但总有些各自的特色。

1、for循环

for循环遍历集合或者数组,使用 in 关键字遍历任何提供迭代器。语法:

for (item in collection) print(item)

例:

先定义一个数组或集合array:

class Item {
        //Item类型
    }
    var array: List<Item> = ArrayList<Item>()

遍历集合array:

//不指明类型
    for (i in array) {
        
    }
    
    //指明类型
    for (item: Item in array) {
        
    }

通常还需要用到索引index,调用集合的withIndex()方法参与循环遍历。

/**
 * 返回一个懒惰的[Iterable],它将原始集合的每个元素包装到一个[IndexedValue]中,
 * 其中包含该元素的索引和元素本身。
 */
public fun <T> Iterable<T>.withIndex(): Iterable<IndexedValue<T>> {
    return IndexingIterable { iterator() }
}

例:使用下面的方式遍历for循环,同时获取元素当前索引index和当前值item

for ((index, item) in array.withIndex()) {
        println("index = " + index + " item = " + item)
    }

2、while

while循环先判断条件,条件满足再进行循环。如果一开始条件就不满足,一次循环也没有。

例:

var i = 0
    while (i < array.size) {
        println(array[i++])
    }

3、do...while...

do...while...循环先执行一次循环体,再判断条件。

var i = 0
    do {
        print(i++)
    } while (i < 5)
    //输出:0 1 2 3 4

至少进行一次循环,即使后面的条件不满足。比如下面的代码,也会执行一次循环体再结束。

var i = 0
    do {
        print(i++)
    } while (i < 0)
    //输出:0

所以while和do...while...合理选择。有些场景适合do...while...比如数据库Cursor的遍历。

4、循环控制

循环控制语句,在恰当的地方控制循环继续还是结束。

4.1、break和continue

①break:终止最近的循环体

②continue:继续下一次最近循环体的循环

③return:直接从当前方法返回

4.2、label标签

关于label参考标签:label。

学习资料:

        Kotlin 循环控制

相关推荐

Parcelize:Parcelable 实现生成器
Kotlin

Parcelize:Parcelable 实现生成器

Parcelize:Parcelable 实现生成器Parcelable是安卓开发中常用的序列化方式,之前分享过一个Parcelable序列化插件,方便开发者快速生成代码,提高开发效率。1、Parcelize插件Kotlin官方也推出一个Parcelable自动生成的Gradle插件:Parcelize。1.1、引入插件在项目的build.gradle中添加:id("kotlin-parceliz

2.6k
Kotlin的继承
Kotlin

Kotlin的继承

Kotlin的继承1、超类:Any类似于Java中的Object类,Kotlin也有一个叫Any的超类,是所有类的父类,所有类都默认继承自该类。超类的定义如下,其中定义了三个函数:2、open注意上面的Any类用open修饰,表示该类可以被继承。Kotlin中的类默认都是final的,无法被继承:如果想让类可以被继承,就需要用在定义类的地方用open关键字标识该类可以被继承。3、构造器继承中涉及到

2.1k
 Kotlin基本语法
Kotlin

Kotlin基本语法

Kotlin基本语法了解Kotlin语言的基本语法。1、包kotlin文件以.kt结尾,编译文件还是如此只不过在文件名后面加上Kt后缀。这一点和Java不同,Java源文件.java,编译后为.class文件。1.1、包定义每个kotlin文件的第一行就用关键字package定义该文件所在的包。例:1.2、导包用到其它kotlin文件需要使用关键字import导入,这一点和Java一样。kotli

2.1k