Kotlin循环语句(for、while、continue、break)

一、首先来看一下for的例子

package net.println.kotlin.chapters

/**
 * @author:wangdong
 * @description:for循环
 */

fun main(args: Array) {
    //传入hello world wang dong
    for (arg in args){
        println(arg)
    }

    for ((index, value) in args.withIndex()){
        println("$index -> $value")
    }

    for (indexedValue in args.withIndex()){
        println("${indexedValue.index} -> ${indexedValue.value}")
    }
}
输出:
hello
world
wang
dong
0 -> hello
1 -> world
2 -> wang
3 -> dong

0 -> hello
1 -> world
2 -> wang
3 -> dong

二、自定义的类型也可以去迭代

package net.println.kotlin.chapters

/**
 * @author:wangdong
 * @description:Iterator
 */
class MyIterator(val iterator: Iterator){
    //返回下一个元素
    operator fun next(): Int{
        return iterator.next()
    }

    //判断有没有下一个元素
    operator fun hasNext(): Boolean{
        return iterator.hasNext()
    }
}

class MyInList{

    private val list = ArrayList()

    fun add(int: Int){
        list.add(int)
    }

    fun remove(int: Int){
        list.remove(int)
    }

    operator fun iterator():MyIterator{

        return MyIterator(list.iterator())
    }
}

fun main(args: Array) {
    val list = MyInList()
    list.add(1)
    list.add(2)
    list.add(3)
    list.add(4)

    for (i in list){
        println(i)
    }
}
/**输出*/
/**
 * 1
 * 2
 * 3
 * 4
 */

三、while循环

fun main(args: Array<String>) {
    var x = 5
    //先判断循环条件,再执行循环体
    while (x > 0){
        println(x)
        x--
    }
    //先执行循环体,再判断循环条件,要不要执行下一次
    do {
        println(x)
        x--
    }while (x > 0)
}

四、Continue和break(继续循环和跳出循环)

package net.println.kotlin.chapters

/**
 * @author:wangdong
 * @description:continue和break
 */
class Soldier{

    fun isNotAGoodSoldier(): Boolean{
        return false
    }
}

fun main(args: Array) {
    val soldiers = ArrayList()
    val you = Soldier()
    for (soldier in soldiers){
        //如果发现这个士兵是you,不想管你
        if (soldier == you) continue //继续向下
        //如果发现其他人不是好士兵,就停止循环
        if (soldier.isNotAGoodSoldier()){
            break   //跳出循环
        }
    }
}

你可能感兴趣的:(Kotlin语言,Kotlin,循环语句,for,while,continue,break)