布林運算式 (Visual Basic)
布林運算式是計算結果為布林資料類型值的運算式:True
或False
。 Boolean
運算式可以有多種形式。 最簡單的方式是直接比較Boolean
變數的值與Boolean
常值,如下列範例所示。
If newCustomer = True Then
' Insert code to execute if newCustomer = True.
Else
' Insert code to execute if newCustomer = False.
End If
= 運算子的兩個意義
請注意,指派陳述式newCustomer = True
看起來與上述範例中的運算式相同,但它會執行不同的函式,且使用方式不同。 在上述範例中,運算式newCustomer = True
代表布林值,而=
符號會解譯為比較運算子。 在獨立陳述式中,=
符號會解譯為指派運算子,並將右邊的值指派給左邊的變數。 說明如下例。
If newCustomer = True Then
newCustomer = False
End If
比較運算子
像是=
、<
、>
、<>
、<=
及>=
的比較運算子,會比較運算子左邊的運算式與運算子右邊的運算式,並計算結果為True
或False
,以產生布林運算式。 說明如下例。
42 < 81
因為 42 小於 81,所以上述範例中的布林運算式會計算結果為True
。 如需這類運算式的詳細資訊,請參閱數值比較。
與邏輯運算子結合的比較運算子
您可以使用邏輯運算子來合併比較運算式,以產生更複雜的布林運算式。 下列範例示範搭配邏輯運算子使用比較運算子。
x > y And x < 1000
在上述範例中,整體運算式的值取決於And
運算子各端運算式的值。 如果這兩個運算式都是True
,則整體運算式會計算結果為True
。 如果任一運算式為False
,則整個運算式會計算結果為False
。
最少運算運算子
邏輯運算子AndAlso
和OrElse
展現出稱為最少運算的行為。 最少運算運算子會先計算左邊的運算元。 如果左邊運算元決定整個運算式的值,則程式執行會繼續進行,不需要計算右邊的運算式。 說明如下例。
If 45 < 12 AndAlso testFunction(3) = 81 Then
' Add code to continue execution.
End If
在上述範例中,運算子會計算左邊的運算式45 < 12
。 由於左邊運算式計算結果為False
,所以整個邏輯運算式必須計算結果為False
。 程式執行會因此略過 If
區塊內程式碼的執行,不需要計算右邊的運算式 testFunction(3)
。 這個範例不會呼叫testFunction()
,因為左邊運算式會假造整個運算式。
同理,如果使用OrElse
的邏輯運算式中的左邊運算式計算結果為True
,則會繼續執行下一行程式碼,不需要計算右邊的運算式,因為左邊的運算式已經驗證整個運算式。
與非最少運算運算子比較
相較之下,使用邏輯運算子And
和Or
時,會計算邏輯運算子的兩邊。 說明如下例。
If 45 < 12 And testFunction(3) = 81 Then
' Add code to continue execution.
End If
即使左邊運算式計算結果為False
,上述範例仍會呼叫testFunction()
。
括號運算式
您可以使用括弧來控制布林運算式的計算順序。 括弧括住的運算式會先計算。 針對多個巢狀層級,優先順序會授予最深的巢狀運算式。 在括弧內,會根據運算子優先順序的規則來繼續計算。 如需詳細資訊,請參閱 Visual Basic 中的運算子優先順序。