when语句类似switch
var a = 10
when(a){
10->Log.i("tag","a等于10")
20->Log.i("tag","a等于20")
else->Log.i("tag","2不等于10,也不等于20")
}
打印结果
tag: a等于10
如果我把上面的改改,代码如下:
var a = 30
when(a){
10->Log.i("tag","a等于10")
20->Log.i("tag","a等于20")
else->Log.i("tag","2不等于10,也不等于20")
}
打印结果
com.maweiqi.kotlinday01 I/tag: 2不等于10,也不等于20
连接在一起的分支语句
var a = 10
when(a) {
10, 20 -> Log.i("tag", "a等于10或者20")
else->{
Log.i("tag","a不等于10,也不等于20")
}
}
打印结果
com.maweiqi.kotlinday01 I/tag: a等于10或者20
判断范围的分支语句
var a = 5
when(a){
in 1..10->Log.i("tag","a在1到10之间")
!in 20..30->Log.i("tag","a不在20到30之间")
}
打印结果
com.maweiqi.kotlinday01 I/tag: a在1到10之间
判断类型的分支语句
var a = 10
when(a){
is Int->Log.i("tag","a是Int类型")
else->{
Log.i("tag","a不是Int类型")
}
}
打印结果
com.maweiqi.kotlinday01 I/tag: a是Int类型
网友评论