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
,关注后即可获取最新文章推送

看完如果觉得有帮助,欢迎 点赞、收藏、关注

标签: none

添加新评论