Kotlin 布尔值教程:深入理解与应用示例

小万哥
• 阅读 1412

Kotlin 布尔值

在编程中,您经常需要一种只能有两个值的数据类型,例如:

  • 是 / 否
  • 开 / 关
  • 真 / 假

为此,Kotlin 有一种布尔数据类型,可以取 truefalse 值。

布尔值

布尔类型可以用 Boolean 关键字声明,并且只能取 truefalse 值:

示例

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 

布尔表达式

布尔表达式返回一个布尔值:truefalse

您可以使用比较运算符,例如大于(>)运算符,来判断表达式(或变量)是否为真:

示例

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 是小写字母。大写字母(IfIF)会产生错误。

在下面的示例中,我们测试两个值以确定 20 是否大于 18。如果条件为 true,打印一些文本:

示例

if (20 > 18) {
  println("20 大于 18")
}

我们还可以测试变量:

示例

val x = 20
val y = 18
if (x > y) {
  println("x 大于 y")
}

示例解释

在上面的示例中,我们使用两个变量 xy 来测试 x 是否大于 y(使用 > 运算符)。由于 x20y18,并且我们知道 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."

示例解释

在上面的示例中,time20)大于 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."

示例解释

在上面的示例中,time22)大于 10,因此第一个条件为 false。在 else if 语句中的下一个条件也为 false,因此我们转到 else 条件,因为 condition1condition2 都为 false,并在屏幕上打印 "Good evening"

然而,如果 time14,我们的程序会打印 "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,关注后即可获取最新文章推送

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

点赞
收藏
评论区
推荐文章
Wesley13 Wesley13
3年前
java 选择结构if
图11     if…elseif…else语句的流程图!(https://oscimg.oschina.net/oscnet/421d60a830835fe0a86905053cf0c13578d.png)选择结构if语句与三元运算转换  三元运算符,它和ifelse语句类似,语法如下:  判断条件?表达式1:表达式2
Souleigh ✨ Souleigh ✨
4年前
安利几个JS开发小技巧
开发小技巧<br/1、转换布尔值除了常规的布尔值true和false之外,JavaScript还将所有其他值视为truthy或falsy。除非另有定义,否则JavaScript中的所有值都是truthy,除了0,“”,null,undefined,NaN,当然还有false,这些都是falsy我们可以通过使用负算运算符轻松地
Stella981 Stella981
3年前
Bitmap 位图 Java实现
一、结构思想以bit作为存储单位进行0、1存取的数据结构。可用作布尔值存取,比如给定第i位,该bit为1则表示true,为0则表示false。二、使用场景及优点适用于对布尔或0、1值进行(大量)存取的场景。如:记录一个用户365天的签到记录,签了为true,没签为false。若是以普通key/valu
Stella981 Stella981
3年前
Python中循环及判断语句
循环判断条件是编程语言中一个很重要的部分,python也不例外,循环判断条件一般结合continue,return,break关键字来判断,这些关键字用法与java中基本一致一、if判断语句判断条件返回的结果为布尔值,在python中,布尔值为True/False,首字母必须大写,否则将出现如下异常!(https://oscimg.oschi
Stella981 Stella981
3年前
Golang学习
//将布尔值转换为字符串true或falsefuncFormatBool(bbool)string//将字符串转换为布尔值//它接受真值:1,t,T,TRUE,true,True//它接受假值:0,f,F,FALSE,false,False//其它任何值都返回一个错误。funcParseBool(st
Stella981 Stella981
3年前
JavaScript if 条件语句
JavaScriptif条件语句使用:if(条件){}elseif(条件){}elseif(条件){}else{}示例://判断相等if(11){}//判断不等if(1!1){}//
小万哥 小万哥
4个月前
Kotlin 控制流和数组操作详解
Kotlin的when表达式提供了一种比if..else更清晰的方式来选择执行多个代码块之一,类似于Java的switch语句但更为强大和灵活。while循环允许在条件为真时重复执行代码块,而do..while循环则保证至少执行一次。break和continue可用于控制循环流程:前者终止循环,后者跳过当前迭代。数组则用于存储多个值,可以创建、访问、修改数组元素及遍历整个数组。这些构造使得编写简洁且高效的代码成为可能。
小万哥 小万哥
1年前
Python 布尔类型
布尔值表示两个值之一:True(真)或False(假)。布尔值在编程中,您经常需要知道一个表达式是否为True或False。您可以在Python中评估任何表达式,并获得两个答案之一:True或False。当您比较两个值时,表达式会被评估,Python会返回
小万哥 小万哥
11个月前
C# 布尔值和条件语句:入门指南和实用示例
C布尔值在编程中,通常需要一个只能有两个值之一的数据类型,比如:是/否开/关真/假为此,C有一个bool数据类型,可以取true或false的值。布尔值使用bool关键字声明布尔类型,只能取true或false的值:示例:csharpboolisCShar
小万哥 小万哥
6个月前
Kotlin 数据类型详解:数字、字符、布尔值与类型转换指南
Kotlin中变量类型由值决定,如Int、Double、Char、Boolean、String。通常可省略类型声明,但有时需指定。数字类型分整数(Byte,Short,Int,Long)和浮点(Float,Double),默认整数为Int,浮点为Double。布尔值是true或false,Char用单引号,字符串用双引号。数组和类型转换将在后续讨论,转换需用特定函数。