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

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

package net.println.kotlin.chapters

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

fun main(args: Array<String>) {
    //传入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<Int>){
    //返回下一个元素
    operator fun next(): Int{
        return iterator.next()
    }

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

class MyInList{

    private val list = ArrayList<Int>()

    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<String>) {
    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<String>) {
    val soldiers = ArrayList<Soldier>()
    val you = Soldier()
    for (soldier in soldiers){
        //如果发现这个士兵是you,不想管你
        if (soldier == you) continue //继续向下
        //如果发现其他人不是好士兵,就停止循环
        if (soldier.isNotAGoodSoldier()){
            break   //跳出循环
        }
    }
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值