美文网首页
Kotlin 学习笔记(二)条件控制关键词

Kotlin 学习笔记(二)条件控制关键词

作者: 我家有个王胖胖 | 来源:发表于2019-12-27 13:40 被阅读0次

    1.“if” 关键词

    Kotlin中的if语句

    一个 if 语句包含一个布尔表达式和一条或多条语句

        var  a:Int =3
        var  b:Int =2
        var mc = if (a > b) 3 else 4
    

    2.“when” 关键词

    when 将它的参数和所有的分支条件顺序比较,直到某个分支满足条件。
    when 既可以被当做表达式使用也可以被当做语句使用。如果它被当做表达式,符合条件的分支的值就是整个表达式的值,如果当做语句使用, 则忽略个别分支的值

    var ma = 0
        when (ma) {
            0 -> {
                println("输出0")
            }
            1 -> {
                println("输出1")
            }
            else -> {
                println("输出$ma")
            }
    

    输出结果:

    输出0
    

    3.“is” 关键词

    fun GetNumber(x: Any) = when (x) {//kotlin中所有类都有一个共同的父类: Any
            is String -> {//如果x是String类型,执行该代码块
            }
            is Int -> {
                //如果x是Int类型,执行该代码块
            }
            else -> false
        }
    

    另一种可能性是检测一个值是(is)或者不是(!is)一个特定类型的值。注意: 由于智能转换,你可以访问该类型的方法和属性而无需 任何额外的检测。

    注:Any是Kotlin中所有类都有一个共同的父类,有点像Java中的Object,但这个类不是java.lang.Object,这个类只有equals()、 hashCode()、toString()方法。

    4.“in” 关键词

    可以检测一个值在(in)或者不在(!in)一个区间或者集合中

    //定位2是否是在1-10范围中
        if (2 in 1..10){
            return true
        }else{
            return false
        }
    

    对比java代码

    //定位2是否是在1-10范围中
    int a = 2;
    for (int i = 0; i < 10; i++) {
        if (i == a) {
            return true;
        } else {
            return false;
        }
    

    5.“for” 关键词

    val items = listOf("华为", "小米", "锤子")
        for (item in items) {
            println(item)
        }
    
        for (index in items.indices) {
            println("item at $index is ${items[index]}")
        }
    

    输出结果:

    华为
    小米
    锤子
    item at 0 is 华为
    item at 1 is 小米
    item at 2 is 锤子
    

    6.while 与 do while

    /**
    * “while ” 循环 关键词
    **/
    while( 布尔表达式 ) {
      //循环内容
    }
    /**
    * do...while 循环 关键词
    **/
    do {
           //代码语句
    }while(布尔表达式);
    

    do…while 循环 对于 while 语句而言,如果不满足条件,则不能进入循环。但有时候我们需要即使不满足条件,也至少执行一次
    do…while 循环和 while 循环相似,不同的是,do…while 循环至少会执行一次。
    举例:

    var x = 0
        while (x > 0) {
            println("x:"+x)
        }
        var y = 0
        do {
            println("y:"+y)
        } while (y > 0)
    

    输出:

    
    y:0
    

    7.return,break,continue

    return。默认从最直接包围它的函数或者匿名函数返回。
    break。终止最直接包围它的循环。
    continue。继续下一次最直接包围它的循环。

    for (i in 1..10) {
            if (i==3) continue  // i 为 3 时跳过当前循环,继续下一次循环
            println(i)
            if (i>5) break   // i 为 6 时 跳出循环
        }
    

    输出结果:

    1
    2
    4
    5
    6
    

    相关文章

      网友评论

          本文标题:Kotlin 学习笔记(二)条件控制关键词

          本文链接:https://www.haomeiwen.com/subject/qhtcoctx.html