手记

Blog-06-《一周快速上手Kotlin For Android》-之When流程控制

-《一周快速上手Kotlin For Android》简介
目前Kotlin已正式成为Android的官方语言,作为Android开发者来说,学习和了解Kotlin也是属于理所当然的事情,兴许你觉得Java对于你来说才是真正的开发”利器”,使用Java你能发挥更高的效率,当然,如果如此你还是可以继续使用Java来开发Android。但对于Kotlin来说,开发Android会变得更简单一些,因为Kotlin其实就是Android开发中的语法糖,采用更简短的代码,描述更多的逻辑而已。开发语言本身就没有对错和最优,每个开发语言被开发出来的时代背景不同,需要解决的主要问题也不同。选择适合你自己的就可以。

一、when替代Java switch用法:

在Kotlin流程控制的中,与Java最为显著的区别在于使用When分支彻底取代了Java中Switch分支。但具体的代码逻辑还是很一致的,上手也会很容易。首先来看看Java中的Switch分支的使用实例:

private void Test(){
    String grade = "1";

    switch (grade){
        case “1":
            Log.i(TAG, "一年级");
            break;
        case “2":
            Log.i(TAG, "二年级");
            break;
        case “3":
            Log.i(TAG, "三年级");
            break;
        default:
            Log.i(TAG, "暂无年级信息");

    }
}

修改为Kotlin分支使用实例:

private void Test(){
    var grade = "1"

    when(grade){
        "1" -> Log.i(TAG, "一年级")
        "2" -> Log.i(TAG, "二年级")
        "3" -> Log.i(TAG, "三年级")
        else -> Log.i(TAG, "暂无年级信息")
    }
}

修改为Kotlin后,整体的代码会更加简洁,对比主要有4点修改:

  1. switch关键字修改为when。

  2. case后的”:”符号,修改为 ->。

  3. 不需要break关键字。

  4. default修改为else。

二、when 分配多个值

var grade = "1"

when(grade){
    "1", "2", "3", "4", "5", "6" -> Log.i(TAG, "小学")
    "7", "8", "9" -> Log.i(TAG, "初中")
    "10", "11" -> Log.i(TAG, "高中")
    else -> Log.i(TAG, "暂无年级信息")
}

若grade值为"10"或"11"时,均会执行第三个分支。

三、when分支处理范围(表达式)

使用when表达式时,必须要有else分支。

var age = 6;
var str = when (age) {
    in 6..11 -> "小学"
    in 12..14 -> "中学"
    in 15..17 -> "高中"
    else -> “其他”
}
print(str)

在处理范围时使用 in 关键字即可。

原文链接:http://www.apkbus.com/blog-55128-78213.html

0人推荐
随时随地看视频
慕课网APP