当前位置:嗨网首页>书籍在线阅读

13-if条件语句

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

4.5.1 if条件语句

if-else语句是控制程序流程的一种基本形式,其中else是可选的。在Kotlin中,if本身就是一个表达式,它有返回值。因此,Kotlin并不需要像Java那样提供三元操作符(condition?then: else),普通的if语句就能胜任这个角色。下面来看一下传统if语句的用法。

val a = 10
val b = 20
var max: Int = a
//传统写法
if (a < b) max = b
// With else写法
if (a > b) {
    max = a
} else {
    max = b
}
// 作为表达式写法
val max = if (a > b) a else b
println("max:$max")   //输出max:20

当然,如果想将if语句作为表达式使用也是可以的,那么最后的表达式就是该块的值。如果if表达式只有一个分支,或者分支的结果是Unit , 那么它的值就是Unit。

    var a = 10
    var b = 20
    val max = if (a > b) {
        print("Max is a")
        a
    } else {
        print("Max is b")
        b
    }
    println(max)   //输出Max is b20

在使用if-else控制语句时,需要注意以下几点规则。

  • if后面的括号不能省略,括号里表达式的值最终必须返回布尔值。如果条件体内只有一条语句,那么if后面的大括号可以省略。
  • 对于给定的if语句,else语句是可选的,else if语句也是可选的。如果需要同时使用else和else if语句,则else必须出现在else if之后。
  • 有多条else if语句同时出现时,如果有一条else if语句的表达式满足条件,那么其他所有else if和else分支会被忽略。
  • 如果出现有多个if语句且只有一个else的情形,则else子句归属于最内层的if语句。