Android Kotlin 从入门到精通(四、条件控制)

if  用法

class demo_条件控制 {
    @Test
    fun main(){
        println(maxNum(5,10))
        println(maxNum2(5,10))
        
    }
    // if表达式
    //Java中if中可以没有返回值 Kotlin中必须有返回值
    fun maxNum(a:Int,b:Int):Int{
        if (a>b){
            return a
        }else{
            return b
        }
        return -1
    }
    //简化版
    fun maxNum2(a:Int,b:Int):Int{
        //三目运算 替代Java中 a>b?a:b
        return if(a>b) a else b
    }
    fun eval(number:Number):String{
        //is 是判断是否是某一种类型
        if (number is Int){
            return "整形"
        }else if (number is Double){
            return "浮点形"
        }
        return "-1"

    }


}

when 用法

class demo_条件控制 {
    @Test
    fun main(){
        println(eval(5.11))
        println("when使用:${eval2(5L)}")
    }
    
    fun eval(number:Number):String{
        //is 是判断是否是某一种类型
        if (number is Int){
            return "整形"
        }else if (number is Double){
            return "浮点形"
        }
        return "-1"

    }

    //when 表达式 替代Java c 语言中 switch——case语句
    //when 同样是带有返回值的
    //when 将它的参数与所有分支条件顺序比较 知道猫族某个分支
    fun eval2(number: Number):String = when (number){
        100 ->"传入了100"
        is Int ->"整型"
        is Double ->"double型"
        is Long ->{
            "代码块中最后一行就是when返回值"
            "Long型"
        }
        else->"未定义类型" //必须加上else分支 当上方条件都不满足返回 异常处理
    }
}

when 增强版 动态给条件赋值

class demo_条件控制 {
    @Test
    fun main(){
        println("when增强使用:${eval3()}")
    }
    
    //when 增强版 可以对when中条件动态赋值
    fun eval3():String {
        return when (val value = getValue()){
            12 ->"传入了12"
            is Int ->"整型"
            is Double ->"double型"
            is Long ->{
                "代码块中最后一行就是when返回值"
                "Long型"
            }
            else->"未定义类型" //必须加上else分支 当上方条件都不满足返回 异常处理
        }

    }

     fun getValue(): Any {
        return 100L
    }


}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值