美文网首页kotlin
Kotlin中的循环

Kotlin中的循环

作者: START爱小鹿 | 来源:发表于2017-06-27 04:10 被阅读0次

    首先是for循环

    最普通的for循环:

    for(i in 0..9){
        println(i)
    }
    

    这里补充一个点:
    0..9 指的是[0,9]这个集合,0和9都包含。
    0 until 9 指的是[0,9),包含0不包含9。

    也可以用for循环遍历集合中的值:

    val list = listOf("Hello"," ", "World"," ",'!')
    for(s in list){
        print(s)
    }
    

    如果想要带着index遍历集合的话:

    val fruits = listOf("苹果","香蕉","橙子","西瓜")
    for((index, element) in fruits.withIndex()){
        println("第${index}种水果是$element")
    }
    

    还有一个比较特殊的forEach语法:

    val list = listOf("Hello", "World",'!')
    list.forEach{
        print("$it ")  //这里的it指代被遍历的list中的值
    }
    

    While循环

    while和do-while循环和java保持一致。

    while(condition) {
        doSomething()
    }
    
    do {
        doSomething()
    } while (condition)
    
    

    Repeat语法

    这是Kotlin相对于Java新加入的特性,取代for(int i=0;i<5;i++)用于简单的重复工作。

    repeat(5){ i ->
        println("循环运行第${i+1}次。")
    }
    

    最后再说说跳跃语法

    Kotlin中引入了标签的概念,可以直接控制程序应该执行的代码是什么。
    标签后面用@标明。

    loop@ for(i in 1..100){
        for(j in 1..100){
            if(...) break@loop
        }
    }
    

    这段代码中的break将会跳出带有loop@标签的循环。continue和break的用法一样。


    还有就是return

    fun foo() {
        ints.forEach lit@ {
            if (it == 0) return@lit
            print(it)
        }
    }
    
    fun foo() {
        ints.forEach {
            if (it == 0) return@forEach
            print(it)
        }
    }
    

    以上两段return效果一样。
    还可以使用匿名函数直接返回值

    fun foo() {
        ints.forEach(fun(value: Int) {
            if (value == 0) return
            print(value)
        })
    }
    
    声明:文中部分例子摘自Kotlin官方英文文档。

    相关文章

      网友评论

        本文标题:Kotlin中的循环

        本文链接:https://www.haomeiwen.com/subject/dgdscxtx.html