if 表达式
Kotlin中if是一个表达式,即它会返回一个值。java中我们可以使用三元表达式:
条件 ? result1 : result2
//传统用法
var max = a
if(a < b) max = b
//
var max:Int
if(a > b){
max = a
}else{
max = b
}
//作为表达式
val max = if(a>b) a else b
if的分支可以是代码块,最后的表达式作为该块的值:
val max = if (a > b) {
print("Choose a")
a
} else {
print("Choose b")
b
}
如果你使用 if 作为表达式而不是语句(例如:返回它的值或者把它赋给变量),该表达式需要有 else 分支。
when表达式
- 将它的参数与所有的分支条件顺序比较,直到某个分支满足条件
- when 既可以被当做表达式使用也可以被当做语句使用
- when 作为一个表达式使用,则必须有 else 分支
- 可以用任意表达式(而不只是常量)作为分支条件
- 如果很多分支需要用相同的方式处理,则可以把多个分支条件放在一起,用逗号分隔:
when (x) {
1 -> print("x == 1")
2 -> print("x == 2")
else -> { // 注意这个块
print("x is neither 1 nor 2")
}
}
3. For循环
对对象进行遍历,Kotlin中使用关键字“in”代替了Java中的“:”符号。如下所示
for(item: Int in ints){
}
如果需要在数字区间上迭代,使用下面的方式:
for(i in 1..5){
println(i)
}
for(i in 6 downTo 0 step 2){
println(i)
}
想要通过索引遍历数组或集合:
for(i in array.indices){
println(array[i])
}
//使用库函数
for((index,value) in array.withIndex()){
println("the element at $index is $value")
}
While循环
Kotlin中while循环与java一样。
while(x > 0){
x--
}
do{
val y = retrieveData()
}while(y != null)
break 和continue
- break:终止最直接包围它的循环。
- continue:继续下一次最直接包围它的循环