-《一周快速上手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点修改:
switch关键字修改为when。
case后的”:”符号,修改为 ->。
不需要break关键字。
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 关键字即可。