流程控制语句是编程语言中的核心之一。可以分为 分支语句、循环语句和跳转语句。下面我们深入的了解Kotlin的流程控制语句。
if
if-else语句是控制程序流程的最基本的形式,其中else是可选的。
在Kotlin中,if是表达式,比如它可以返回一个值。 是除了condition ? then : else)之外的唯一一个三元表达。
传统用法
val a = 10
val b = 20
var max_0: Int = a
if (a > b) {
max_0 = a
} else {
max_0 = b
}
println("----------------------------------")
println("max_0:$max_0")
println("----------------------------------")
// Log
--------------
max_0:20
--------------
作为表达式
var max_1 = if (a > b) a else b
println("--------------")
println("max_1:$max_1")
println("--------------")
//Log
--------------
max_1:20
--------------
作为代码块
println("--------------")
val max_2 = if (a > b) {
println("Choose a")
a
} else {
println("Choose b")
b
}
println("max_2:$max_2")
println("--------------")
// Log
--------------
Choose b
max_2:20
--------------
if作为代码块时,最后一行必须为该块的返回值.
如果 if 表达式只有一个分支, 或者分支的结果是 Unit , 它的值就是 Unit 。
if-else语句规则:
- if后的括号不能省略,括号里表达式的值最终必须返回的是布尔值
- 如果条件体内只有一条语句需要执行,那么if后面的大括号可以省略,但这是一种极为不好的编程习惯。
- 对于给定的if,else语句是可选的,else if 语句也是可选的
- else和else if同时出现时,else必须出现在else if 之后
- 如果有多条else if语句同时出现,那么如果有一条else if语句的表达式测试成功,那么会忽略掉其他所有else if和else分支。
- 如果出现多个if,只