Kotlin 布尔值
在编程中,您经常需要一种只能有两个值的数据类型,例如:
- 是 / 否
- 开 / 关
- 真 / 假
为此,Kotlin 有一种布尔数据类型,可以取 true
或 false
值。
布尔值
布尔类型可以用 Boolean
关键字声明,并且只能取 true
或 false
值:
示例
val isKotlinFun: Boolean = true val isFishTasty: Boolean = false println(isKotlinFun) // 输出 true println(isFishTasty) // 输出 false
就像您在前几章中学到的其他数据类型一样,上面的示例也可以在不指定类型的情况下编写,因为 Kotlin 足够智能,可以理解变量是布尔类型:
示例
val isKotlinFun = true val isFishTasty = false println(isKotlinFun) // 输出 true println(isFishTasty) // 输出 false
布尔表达式
布尔表达式返回一个布尔值:true
或 false
。
您可以使用比较运算符,例如大于(>
)运算符,来判断表达式(或变量)是否为真:
示例
val x = 10 val y = 9 println(x > y) // 返回 true,因为 10 大于 9
或者更简单:
示例
println(10 > 9) // 返回 true,因为 10 大于 9
在下面的示例中,我们使用等于(==
)运算符来评估表达式:
示例
val x = 10 println(x == 10) // 返回 true,因为 x 的值等于 10
示例
println(10 == 15) // 返回 false,因为 10 不等于 15
表达式的布尔值是所有 Kotlin 比较和条件的基础。
在下一章中,您将学习更多关于条件的内容。
Kotlin 条件和 If..Else
Kotlin 支持数学中的常见逻辑条件:
- 小于:
a < b
- 小于或等于:
a <= b
- 大于:
a > b
- 大于或等于:
a >= b
- 等于:
a == b
- 不等于:
a != b
您可以使用这些条件为不同的决策执行不同的操作。
Kotlin 有以下条件语句:
- 使用
if
指定在条件为true
时要执行的一段代码 - 使用
else
指定在条件为false
时要执行的一段代码 - 使用
else if
在第一个条件为false
时测试新的条件 - 使用
when
指定多个替代代码块来执行
注意:与 Java
不同,if..else
可以在 Kotlin 中用作语句或表达式(为变量赋值)。请参阅页面底部的示例以更好地理解它。
Kotlin if
使用 if
指定在条件为 true
时要执行的一段代码。
语法
if (condition) { // 如果条件为 true 要执行的代码块 }
注意,if
是小写字母。大写字母(If
或 IF
)会产生错误。
在下面的示例中,我们测试两个值以确定 20
是否大于 18
。如果条件为 true
,打印一些文本:
示例
if (20 > 18) { println("20 大于 18") }
我们还可以测试变量:
示例
val x = 20 val y = 18 if (x > y) { println("x 大于 y") }
示例解释
在上面的示例中,我们使用两个变量 x
和 y
来测试 x
是否大于 y
(使用 >
运算符)。由于 x
是 20
,y
是 18
,并且我们知道 20
大于 18
,因此我们在屏幕上打印 "x 大于 y"
。
Kotlin else
使用 else
指定在条件为 false
时要执行的一段代码。
语法
if (condition) { // 如果条件为 true 要执行的代码块 } else { // 如果条件为 false 要执行的代码块 }
示例
val time = 20 if (time < 18) { println("Good day.") } else { println("Good evening.") } // 输出 "Good evening."
示例解释
在上面的示例中,time
(20
)大于 18
,因此条件为 false
,因此我们转到 else
条件并在屏幕上打印 "Good evening"
。如果 time
小于 18
,程序会打印 "Good day"
。
Kotlin else if
使用 else if
在第一个条件为 false
时指定一个新条件。
语法
if (condition1) { // 如果 condition1 为 true 要执行的代码块 } else if (condition2) { // 如果 condition1 为 false 且 condition2 为 true 要执行的代码块 } else { // 如果 condition1 和 condition2 都为 false 要执行的代码块 }
示例
val time = 22 if (time < 10) { println("Good morning.") } else if (time < 20) { println("Good day.") } else { println("Good evening.") } // 输出 "Good evening."
示例解释
在上面的示例中,time
(22
)大于 10
,因此第一个条件为 false
。在 else if
语句中的下一个条件也为 false
,因此我们转到 else
条件,因为 condition1
和 condition2
都为 false
,并在屏幕上打印 "Good evening"
。
然而,如果 time
是 14
,我们的程序会打印 "Good day"
。
Kotlin If..Else
表达式
在 Kotlin 中,您还可以将 if..else
语句用作表达式(为变量赋值并返回):
示例
val time = 20 val greeting = if (time < 18) { "Good day." } else { "Good evening." } println(greeting)
使用 if
作为表达式时,您还必须包含 else
(必需)。
注意:如果 if
只有一个语句,可以省略大括号 {}
:
示例
fun main() { val time = 20 val greeting = if (time < 18) "Good day." else "Good evening." println(greeting) }
提示:这个示例类似于 Java
中的“三元运算符”(简写的 if...else
)。
最后
为了方便其他设备和平台的小伙伴观看往期文章:
微信公众号搜索:Let us Coding
,关注后即可获取最新文章推送
看完如果觉得有帮助,欢迎 点赞、收藏、关注