在编程中,您经常需要一种只能有两个值的数据类型,例如:
为此,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 比较和条件的基础。
在下一章中,您将学习更多关于条件的内容。
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 中用作语句或表达式(为变量赋值)。请参阅页面底部的示例以更好地理解它。
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"
。
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"
。
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"
。
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
,关注后即可获取最新文章推送
看完如果觉得有帮助,欢迎 点赞、收藏、关注
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。