【2023最新】Kotlin基础教程 Kotlin Basics 2 第二阶段:Sold! 2.10 【布尔和逻辑运算】Boolean and logical operations
【2023最新】Kotlin基础教程 Kotlin Basics
文章目录
- 【2023最新】Kotlin基础教程 Kotlin Basics
- 2 第二阶段:Sold!
- 2.10 【布尔和逻辑运算】Boolean and logical operations
- 2.10.1 布尔变量
- 2.10.2 读取布尔值
- 2.10.3 逻辑运算符
- 2.10.4 逻辑运算符优先级
- 2.10.5 结论
- 2.10.6 练习
Kotlin,一种结合了函数式和面向对象编程特性的现代跨平台语言。
2 第二阶段:Sold!
2.10 【布尔和逻辑运算】Boolean and logical operations
布尔值在编程中经常使用。基本上,它们代表两种相反的状态。例如,布尔值可以表示:
- 商店是否营业;
- 天空中是否有飞机;
- 是否允许旅行;
- 选项是否启用,等等。
2.10.1 布尔变量
布尔值是一种特殊的数据类型,它只有两个可能的值——true
和false
:
val t = true // t is true
val f = false // f is false
println(t) // true
println(f) // false
您不能将整数值0分配给布尔变量false。在 Kotlin 中
2.10.2 读取布尔值
从 Kotlin 1.4 开始,您可以像这样读取布尔值:
val b: Boolean = readLine().toBoolean()
从 Kotlin 1.6 开始,您可以像这样读取布尔值:
val b: Boolean = readln().toBoolean()
因此,假设您有以下输入:
true
True
TRuE
T
false
输出将如下所示:
println(readln().toBoolean()) // true
println(readln().toBoolean()) // true
println(readln().toBoolean()) // true
println(readln().toBoolean()) // false
println(readln().toBoolean()) // false
您可以使用`readLine()!!.toBoolean()`Kotlin 编译器 1.3 或更早版本:
val b: Boolean = readLine()!!.toBoolean()
从 Kotlin 1.5 开始,您可以使用其他函数`String`将`Boolean`. 如果字符串等于单词“true”,区分大小写,函数`toBooleanStrict()`返回,如果字符串等于“false”;否则,您的程序将因错误而崩溃。如果字符串等于单词“true”,区分大小写,函数返回,如果字符串等于“false”;否则,它返回一个特殊值。我们稍后再讨论。```true``false``java.lang.IllegalArgumentException``toBooleanStrictOrNull()``true``false``null
println("true".toBooleanStrict()) // true
// println("True".toBooleanStrict()) // program crashes
println("false".toBooleanStrict()) // false
// println("faLse".toBooleanStrict()) // program crashes
println("true".toBooleanStrictOrNull()) // true
println("false".toBooleanStrictOrNull()) // false
println("faLse".toBooleanStrictOrNull()) // null
2.10.3 逻辑运算符
布尔类型变量在逻辑运算符的帮助下构造逻辑语句。Kotlin 有四个逻辑运算符:NOT、AND、OR和XOR:
NOT 是反转布尔值的一元运算符。它可以用 表示
!
。val f = false // f is false
val t = !f // t is trueAND 是一个二元运算符,
true
如果两个操作数都是 ,则返回true
。否则,它返回false
。它可以用 表示&&
。val b1 = false && false // false
val b2 = false && true // false
val b3 = true && false // false
val b4 = true && true // trueOR 是一种二元运算符,
true
如果至少有一个操作数是则返回true
。否则,它返回false
。它可以用 表示||
。val b1 = false || false // false
val b2 = false || true // true
val b3 = true || false // true
val b4 = true || true // truetrue
XOR(异或)是一个二元运算符,如果布尔操作数具有不同的值,则返回。否则,它是false
。val b1 = false xor false // false
val b2 = false xor true // true
val b3 = true xor false // true
val b4 = true xor true // false
XOR 运算符不像其他逻辑运算符那样流行。但是您仍然可以使用它,以防万一。
2.10.4 逻辑运算符优先级
下面看看Kotlin 中逻辑运算的优先级。优先级确定其他变量在没有括号的情况下如何分组:
!
对于不xor
异或&&
对于和||
或
所以,下面的变量是true
:
val bool = true && !false // true because !false is evaluated first
您可以使用括号(...)
来更改执行顺序。
例如,让我们编写一个布尔表达式来确定在夏季和其他季节徒步旅行的可能性:
val cold = false
val dry = true
val summer = false // suppose it is autumn now
val hiking = dry && (!cold || summer) // true, let's go hiking!
不要被上面的表达冲昏了头脑。一个好的程序员不仅要懂得算术规则,还要懂得逻辑运算。否则,您最终可能会在恶劣天气下远足。
2.10.5 结论
在本主题中,我们讨论了四个主要的 Kotlin 逻辑运算符 — !
(NOT)、xor
(异或)、&&
(AND)和||
(OR)。你需要很好地理解它们才能掌握 Kotlin。它们还遵守一种特殊的执行顺序,称为优先顺序。乍一看似乎令人困惑,但熟能生巧。
还没有评论,来说两句吧...