Kotlin 循环控制

  • kotlin中的循环主要是for,while,do...while,return ,break,continue

For循环

  • 自动判断类型遍历
  • 声明类型遍历
  • 索引遍历一个数组或者一个 list
  • 用库函数 withIndex遍历数组和list
         var items = listOf("a", "b", "c")
        /**
         * 自动判断类型遍历
         */
        for (item in items) println("item-->$item")
        /**
         * 声明类型遍历
         */
        for (item: String in items) {
            println("item1-->$item")
        }
        /**
         * 索引遍历一个数组或者一个 list
         */
        for (i in items.indices) {
            println("indices-->at $i is ${items[i]}")
        }
        /**
         * 用库函数 withIndex遍历数组和list
         */
        for ((index,value) in items.withIndex())
        {
            println("the element at $index is $value")
        }

while 与 do...while 循环

  • while 和do...while 和java中的用法基本类似,do…while 循环和 while 循环相似,不同的是,do…while 循环至少会执行一次。

返回和跳转

  • return。默认从最直接包围它的函数或者匿名函数返回。
  • break。终止最直接包围它的循环。
  • continue。继续下一次最直接包围它的循环。
       //传统的continue和break
        for (i in 1..10) {
        if (i==3) continue  // i 为 3 时跳过当前循环,继续下一次循环
        println(i)
        if (i>5) break   // i 为 6 时 跳出循环
        }

Break 和 Continue 标签

  • 标签的格式为标识符后跟 @ 符号,例如:abc@、fooBar@都是有效的标签。 要为一个表达式加标签,我们只要在其前加标签即可,通常情况下使用隐式标签更方便。 该标签与接受该 lambda 的函数同名。
  • 如果有多重循环,带标签的break会跳转出标签所指示的那一个循环。
  • 如果有多重循环,带标签的continue会跳转到标签所指向的那个循环,进入该循环的下一次循环。
       // break 跳转到刚好位于该标签指定的循环后面的执行点。
       // continue继续标签指定的循环的下一次迭代。
        loop@ for (i in 1..100) {
        for (j in 1..100) {
            if (……) break@loop
              }
          }
  • 如果需要在返回的时候带有一个值:return@a 1

你可能感兴趣的:(Kotlin 循环控制)