1、If/else 语句
在 Kotlin 中 If/else
可以和在 Java 一样使用,与之不一样的是在 Kotlin 中它可以作为 带有返回值的表达式,如同 Java 中的三目运算符:
val max = if(a > b) a else b
注意:If 语句作为表达式时 必须带有 else 语句
2、When 语句
Kotlin 中的 when
语句相当于 Java 中的 switch 句
when(x){
a -> 语句1
b -> 语句2
method(c) -> 语句3
else -> 其他
}
val a = when(x){
a -> 语句1
b -> 语句2
method(c) -> 语句3
else -> 其他
}
其中每一个分支既可以为 变量 也可以为 表达式 。
注意: 就像 If/else 语句一样,当 when 语句被当作表达式时,必须有 else 分支。
按照 when
语句的表达含义,我们可以用 when
语句替代 If/else
语句。
when {
x.isOdd() -> print("x is odd")
x.isEven() -> print("x is even")
else -> print("x is funny")
}
3、For 循环
常见的几种 for 语句的用法:
//常见的形式
for(i in 1..10){
println(i)
}
for(i in 1 until 10){
println(i)
}
for(i in 10 downTo 1){
println(i)
}
//步进
for(i in 1..10 step 2){
println(i)
}
//相当于 for 语句的高阶函数
repeat(10){
println(i)
}
需要注意的是以下情况是不存在的
//这是错误的表示方式
for(i in 10..1){
println(i)
}
配合 Kotlin 库函数我们可以更方便的遍历数组或集合,以下为几个例子:
for (i in array.indices) {
println(array[i])
}
for ((index, value) in array.withIndex()) {
println("the element at $index is $value")
}
4、While 语句
while
语句在 Kotlin 的表达方式和 Java 中几乎没什么区别,具体如下:
while (x > 0) {
x--
}
do {
val y = retrieveData()
} while (y != null)
对于我来说,这一次重新梳理 Kotlin 语法让我重新认识的是:
- 当 If 和 When 语句当作表达式时 else 是必不可少的
- 在 For 语句循环中,初步认识了
解构函数
的存在