趋近智
while 循环进行条件迭代break 和 continueprint 和 println 显示输出@printf格式化输出try-catch 进行异常处理finally 保证代码执行除了数字和文本数据之外,编程还经常需要处理表示真假的信息。用户是否已登录?文件是否已打开?是否发生了错误?这些“是”或“否”的问题对于程序做出决策和控制其行为非常重要。Julia 和其他编程语言一样,有一种专门用于处理这类逻辑值的数据类型:布尔类型。
Bool 类型:true 和 false在Julia中,布尔值由 Bool 类型表示。Bool 类型的变量只能存储两个可能值中的一个:true 或 false。它们是Julia中的保留关键字,表示真理的两种基本状态。
你可以像处理数字或字符串一样,将这些值分配给变量:
julia> is_julia_fun = true
true
julia> is_data_missing = false
false
这里,is_julia_fun 是一个存储 true 值的布尔变量,而 is_data_missing 存储 false。这些变量现在包含了一段可用于进行逻辑推断的信息。
你可以使用 typeof 函数检查这些值的类型:
julia> typeof(true)
Bool
julia> typeof(is_data_missing)
Bool
如果不能对布尔值进行操作,它们就不会非常有用。Julia 提供了多种逻辑运算符来组合或修改布尔值。三种主要的逻辑运算符是 NOT (!)、AND (&&) 和 OR (||)。
!)NOT 运算符,由感叹号 (!) 表示,它会反转布尔值。如果一个值是 true,!true 就会变成 false。如果一个值是 false,!false 就会变成 true。
julia> is_raining = true
true
julia> is_sunny = !is_raining
false
julia> println(is_sunny)
false
julia> println(!false)
true
下面是 NOT 运算符的简单真值表:
| 输入 A | !A |
|---|---|
true |
false |
false |
true |
&&)AND 运算符,由 && 表示,它组合两个布尔值。A && B 的结果只有当 A 和 B 都为 true 时才为 true。如果 A 或 B(或两者)为 false,结果就是 false。
julia> has_ticket = true
true
julia> is_on_time = true
true
julia> can_board_flight = has_ticket && is_on_time
true
julia> has_passport = true
true
julia> has_visa = false
false
julia> can_enter_country = has_passport && has_visa
false
AND 的真值表是:
| 输入 A | 输入 B | A && B |
|---|---|---|
true |
true |
true |
true |
false |
false |
false |
true |
false |
false |
false |
false |
&&的短路求值 Julia 中的&&运算符使用“短路”求值。这表示如果第一个操作数(&&左侧的)求值为false,则第二个操作数将根本不会被求值,因为无论如何总结果都必须是false。这对于提高性能和避免错误很有用,例如当第一个条件不满足时,第二个表达式可能会导致问题(如除以零)。
||)OR 运算符,由 || 表示,也组合两个布尔值。如果 A 或 B 中至少有一个为 true,则 A || B 的结果为 true。结果仅当 A 和 B 都为 false 时才为 false。
julia> has_coffee = true
true
julia> has_tea = false
false
julia> can_have_hot_drink = has_coffee || has_tea
true
julia> is_weekend = false
false
julia> is_holiday = false
false
julia> can_skip_work = is_weekend || is_holiday
false
OR 的真值表是:
| 输入 A | 输入 B | A || B |
| :------ | :------ | :------- |
| true | true | true |
| true | false | true |
| false | true | true |
| false | false | false |
||的短路求值 与&&类似,||运算符也使用短路求值。如果第一个操作数(||左侧的)求值为true,则第二个操作数不会被求值,因为总结果必须是true。
通常,布尔值不是直接赋值的,而是比较操作的结果。你已经见过数字;你可以比较它们来产生布尔结果。像 ==(等于)、!=(不等于)、>(大于)、<(小于)、>=(大于或等于)和 <=(小于或等于)这样的运算符都会产生布尔结果。
julia> age = 20
20
julia> is_adult = age >= 18
true
julia> temperature = 25.5
25.5
julia> is_comfortable = temperature > 20.0 && temperature < 30.0
true
julia> a = 5
5
julia> b = 10
10
julia> a_equals_b = (a == b)
false
julia> a_not_equals_b = (a != b)
true
在 is_comfortable 示例中,我们使用 && 运算符组合了两个比较结果(temperature > 20.0 和 temperature < 30.0)。变量 is_comfortable 仅在两个条件都满足时才变为 true。
理解布尔逻辑非常重要,因为它构成了程序中决策的基础。求值为 true 或 false 的表达式用于控制程序的执行流程。例如,你可能只想在某个条件为 true 时运行一段代码,或者在一个条件保持 true 时重复一项任务。
我们将在下一章详细介绍这些控制流结构,例如 if 语句和 while 循环。现在,请记住布尔值(true 和 false)和逻辑运算符(!, &&, ||)是 Julia 提供的用于表示和操作逻辑条件的工具,它们是程序智能行为的依据。熟练掌握它们是你编程道路上的重要一步。
这部分内容有帮助吗?
Bool 类型、逻辑运算符(!、&&、||)的官方文档,并解释了短路求值。© 2026 ApX Machine Learning用心打造