ZetCode

FreeBasic 布尔关键字

最后修改日期:2025 年 6 月 16 日

FreeBasic 的 Boolean 关键字代表一种只能包含两个值的数据类型:true 或 false。布尔值对于控制程序流程和进行逻辑决策至关重要。

基本定义

在 FreeBasic 中,Boolean 是一种内置数据类型,占用 1 字节内存。它只能包含 true(非零)或 false(零)这两个值。

布尔变量通常用于条件语句、循环和逻辑运算。在处理是/否或开/关场景时,它们可以使代码更具可读性。

声明布尔变量

此示例显示了如何声明和初始化布尔变量。

boolean_declare.bas
Dim isReady As Boolean
Dim hasPermission As Boolean = True
Dim isComplete As Boolean = False

Print "isReady: "; isReady
Print "hasPermission: "; hasPermission
Print "isComplete: "; isComplete

在这里,我们声明了三个布尔变量。第一个未初始化,默认为 false。其他两个被显式设置为 true 和 false。FreeBasic 在显示布尔值时,false 显示为 0,true 显示为 -1。

条件语句中的布尔值

布尔值最常用于在条件语句中控制程序流程。

boolean_conditional.bas
Dim isLoggedIn As Boolean = True

If isLoggedIn Then
    Print "Welcome back, user!"
Else
    Print "Please log in to continue."
End If

此示例演示了在 If 语句中使用布尔变量。条件评估为 true,因此会打印欢迎消息。布尔变量使条件逻辑更具可读性。

布尔运算符

FreeBasic 提供了逻辑运算符来组合布尔值。

boolean_operators.bas
Dim hasAccount As Boolean = True
Dim isVerified As Boolean = False

Print "AND: "; hasAccount And isVerified
Print "OR: "; hasAccount Or isVerified
Print "NOT: "; Not hasAccount
Print "XOR: "; hasAccount Xor isVerified

此代码演示了布尔运算符:AND、OR、NOT 和 XOR。AND 运算符仅当两个操作数都为 true 时才返回 true。OR 只要任一操作数为 true 就返回 true。NOT 反转值。

布尔函数返回值

函数可以返回布尔值来指示成功或失败。

boolean_function.bas
Function IsEven(n As Integer) As Boolean
    Return (n Mod 2) = 0
End Function

Dim number As Integer = 42
If IsEven(number) Then
    Print number; " is even"
Else
    Print number; " is odd"
End If

IsEven 函数返回一个布尔值,指示一个数字是否为偶数。这使得调用代码非常易读,因为函数名称清晰地表达了其目的和返回类型。

布尔数组

布尔值数组可用于跟踪多个 true/false 状态。

boolean_array.bas
Dim weekdays(1 To 7) As Boolean
weekdays(2) = True  ' Monday
weekdays(3) = True  ' Tuesday
weekdays(5) = True  ' Thursday

For i As Integer = 1 To 7
    Print "Day "; i; ": "; IIf(weekdays(i), "Working day", "Off day")
Next

此示例创建了一个数组来跟踪哪些是工作日。我们将某些天设置为 true,而其他天默认保持为 false。IIf 函数有助于根据布尔值显示有意义的字符串。

带比较运算符的布尔值

比较运算自然会产生布尔值。

boolean_comparison.bas
Dim a As Integer = 10
Dim b As Integer = 20

Dim result As Boolean = (a < b)

Print "a < b: "; result
Print "a = b: "; (a = b)
Print "a > b: "; (a > b)

在这里,我们将比较结果存储在布尔变量中。我们也直接打印比较结果。在 FreeBasic 中,所有比较都评估为布尔值。

布尔类型转换

FreeBasic 会在布尔值和其他数值类型之间自动转换。

boolean_conversion.bas
Dim flag As Boolean = True
Dim numericValue As Integer = flag

Print "Boolean to Integer: "; numericValue

Dim newFlag As Boolean = -1
Print "Integer to Boolean: "; newFlag

这演示了隐式类型转换。转换为整数时,true 变为 -1,false 变为 0。从整数转换时,任何非零值都变为 true,而零变为 false。

最佳实践

本教程介绍了 FreeBasic 的 Boolean 关键字,并通过实际示例展示了其在不同场景下的用法。

作者

我叫 Jan Bodnar,是一位充满热情的程序员,拥有丰富的编程经验。我自 2007 年以来一直在撰写编程文章。迄今为止,我已撰写了 1400 多篇文章和 8 本电子书。我在教授编程方面拥有十多年的经验。

列出所有 FreeBasic 教程