Kotlin-3逻辑判断

Kotlin学习 —— 3.逻辑判断

一、If else

与java不同点:

1.替代java三元表达式

fun test() {
    var param1: Int = 10
    var result = if (param1 > 5) "大于5" else "小于5"
    LogUtil.e(result)
}

2.可赋值给变量

fun test(){
    val max = if (param1 > param2) {
        param1 * 2
    } else {
        param2 * 2
    }
}

3.使用区间

fun test() {
    val param = 5
    val max = if(param in 1..6){
        param
    }else{
        0
    }
}

二、When

顺序执行,类似与java中的switch,但是没有break(Java中不加break会运行下一个逻辑)即有且只有执行一个条件内容

fun test(param : Any) {
    val fruit = setOf("apple", "banana", "kiwi")

    when(param){
        1,2->{
            LogUtil.e("param = $param")
        }
        "3"->{
            LogUtil.e("字符串3")
        }
        is Number->{
            LogUtil.e("Number 数字")
        }
        is UserBean ->{
            LogUtil.e("UserBean对象")
        }
        false->{
            LogUtil.e("Boolean值")
        }
        in 1..5->{
            LogUtil.e("在区间1~5")
        }
        in fruit->{
            LogUtil.e("是水果")
        }
        else->{
            LogUtil.e("其它情况")
        }
    }
}

三、For循环

fun testFor() {
    var studentsArray = mutableListOf<Student>()
    var studentsList = mutableListOf<Student>()
    var studentMap = mutableMapOf<Long, Student>()
    var studentSet = mutableSetOf<Student>()

    // 遍历数组
    for (student: Student in studentsArray) {// :Student 可省去
        //...
    }
    // 遍历List
    for (student in studentsList) {
        //...
    }
    // 遍历List,带索引值
    for ((index,student) in studentsList.withIndex()){
        //...
    }
    // 遍历Map
    for ((key, student) in studentMap) {
        //...
    }
    // 遍历Set
    for (student in studentSet) {
        //...
    }
}

四、while 和 do…while 循环

与java用法一致

fun testWhile() {
    var param: Int = 10
    var param1: Int = 0

    while (param > 0) {
        LogUtil.e("param = $param")
        param--
    }
    
    do {
        LogUtil.e("param = $param")
        param++
    } while (param1 < 10)
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值