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,关注后即可获取最新文章推送
看完如果觉得有帮助,欢迎 点赞、收藏、关注










