Share via


Boolean 式

更新 : 2007 年 11 月

Boolean 式とは、評価結果が Boolean データ型の値になる式です。Boolean 式にはいくつかの形式があります。最も単純な形式では、次のように、Boolean 変数の値を Boolean リテラルと直接比較します。

If newCustomer = True Then
    ' Insert code to execute if newCustomer = True.
Else
    ' Insert code to execute if newCustomer = False.
End If

= 演算子の 2 つの意味

newCustomer = True という代入ステートメントは、前述の例に出てきた式と同じに見えますが、機能も使い方も異なります。前述の例では、newCustomer = True という式は Boolean 値を表しているため、= 記号は比較演算子として解釈されます。スタンドアロンのステートメントでは、= 記号は代入演算子として解釈され、右の値が左の変数に代入されます。次に例を示します。

If newCustomer = True Then
    newCustomer = False
End If

詳細については、「値の比較」および「代入ステートメント」を参照してください。

比較演算子

=、<、>、<>、<=、>= などの比較演算子は、演算子の左側の式と右側の式を比較し、その結果を True または False として評価することで Boolean 式を形成します。次に例を示します。

42 < 81

42 は 81 より小さいので、この Boolean 式の評価は True になります。この種類の式の詳細については、「値の比較」を参照してください。

比較演算子と論理演算子の組み合わせ

論理演算子を使って比較式を組み合わせると、より複雑な Boolean 式を作成できます。次の例では、比較演算子と論理演算子を組み合わせて使用しています。

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 になります。したがって、右の式 testFunction(3) は評価されないまま、If ブロック内のコードの実行がスキップされます。この例では、左の式を評価しただけで式全体が false になることが決まるので、testFunction() は呼び出されません。

同様に、OrElse を使った論理式の左の式が True になる場合も、右の式は評価されないまま次のコード行が実行されます。これは、左の式を評価しただけで式全体が true になることが決まるからです。

非ショートサーキット演算子との比較

これに対して、And 演算子または Or 演算子を使用した場合は、論理演算子の両側が評価されます。次に例を示します。

If 45 < 12 And testFunction(3) = 81 Then
    ' Add code to continue execution.
End If

この例では、左の式の評価が False になる場合でも、testFunction() が呼び出されます。

かっこを使った式

かっこを使うと、Boolean 式を評価する順序を制御できます。かっこで囲まれている式が最初に評価されます。複数のレベルで入れ子になっている場合は、最も内側の式から評価されます。かっこの中の式は、演算子の優先順位の規則に従って評価されます。詳細については、「Visual Basic における演算子の優先順位」を参照してください。

参照

概念

Visual Basic の論理演算子とビット処理演算子

値の比較

代入ステートメント

演算子の効率のよい組み合わせ

参照

比較演算子 (Visual Basic)

Visual Basic における演算子の優先順位

ブール型 (Boolean) (Visual Basic)