版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Leslie_LN/article/details/82783075
if
除了和Java一样的用法,if分支还可以作为表达式使用
var str=if(){
....
}
esle if(){
.....
}else{
.....
}
整个分支最后会有一个返回值,代码块中最后一个表达式的值即为整个分支的返回值;
注意:
- 由于分支必须有返回值,所以必须有else分支,而else if为可选分支;
- 如果只是if…else分支,就变成了Java中的三目运算
When
Kotlin中When分支替代了Java中的Switch语句
格式:
When(条件表达式){//条件表达式的类型没有任何要求,可以使任意类型
'分支值1' ->{} // 分支的值不要求常是量,可以是任意表达式
'分支值2'->{}
'分支3','分支4' ->{}
.........
else{}
}
- 条件表达式的类型没有任何要求,可以使任意类型
- 分支的值不要求常是量,可以是任意表达式
- 分支可以匹配多个值
如:
2、When分支作为表达式
和If分支一样,When分支也可以作为表达式,当某个分支符合条件,那么该分支的整个代码块的值就作为整个表达式的值,如果代码块没有明确return返回值,最后一条语句即为分支返回值;
var str=when(条件表达式){
'分支1'->{}
.....
else{
}
}
***注意:***由于作为表达式必须返回值,所以必须有else分支
2.1、when分支处理范围
检查表达式是否位于指定区间和集合
如:
var age:Int=25;
when(age){
in 0..18 ->{
Log.d("TAG","未成年人")
}
in 19..30 ->{
Log.d("TAG","年轻人")
}
}
2.2、when分支处理条件表达式类型
通过is、!is运算符判断,表达式类型是否是指定类型
when(){
is 类型(如:String)->{}
.....
}
2.3、when分支取代if…else if
通过对when分支变形既可做的if…else if…的作用:
-
不提供条件表达式
-
分支为布尔表达式
when{ 布尔表达式->{} 布尔表达式->{} ....... }
3、while与do while循环
和Java一样,不做介绍
for…in循环
专门用于遍历区间、集合、字符串等包含元素。
格式:
for(常量名 in 字符串|区间|集合){
}
- 常量不需要声明,常量会在每次循环开始是自动被赋值
- for…in可以遍历任何可迭代对象。所谓可迭代对象就是包含一个iterator()方法,且该方法返回值具有next()方法、hasNext()方法,这三个方法都是使用operator修饰;