演算子の優先順位

式の値は式の各部分が評価される順序によって決まります。優先順位の高い演算子は、優先順位の低い演算子よりも先に評価されます。優先順位が同じ演算子は左から右へと評価されます。

式の通常の評価順序を変えるには、カッコを使用します。カッコ内の副式は、式の他の部分よりも先に左から右へと評価されます。

次の表は、演算子の優先順位を示しています。次の表の演算子は、特に明記されている場合を除き 2 項演算子です。同じ行の演算子は、同じ優先順位になります。演算子の優先順位は、高い方から順に次のようになっています。

演算子の種類

演算子

演算

算術

^

指数

 

-

- (単項) マイナス

 

*, /

乗算、浮動小数点数の除算

 

¥

整数除算

 

Mod

剰余演算 (整数の除算の余り)

 

-, +

減算、加算

連結

&

文字列連結

関係 (比較)

=、<>、><、<、<=、=<、>、>=、=>、Like

数値または文字列の比較。等しい、等しくない、等しくない、より小さい、より小さいか等しい、より小さいか等しい、より大きい、より大きいか等しい、より大きいか等しい、含む (部分文字列のマッチング)

オブジェクト参照の比較 (関係演算子と同じ優先順位)

Is、IsA

オブジェクト型のテスト、同じオブジェクトの参照

論理

Not

論理否定 (ビット単位) または 1 の補数

 

And

論理積 (ビット単位)

 

Or

論理和 (ビット単位)

 

Xor

排他的論理和 (ビット単位)

 

Eqv

論理的等価 (ビット単位)

 

Imp

論理包含 (ビット単位)

代入

=

代入

次の例では、算術演算子の優先順位を示しています。

Print 6 + 4 / 2                    ' Prints 8
Print (6 + 4) / 2                  ' Prints 5
Print -2 ^ 2                       ' Prints -4
Print (-2) ^ 2                     ' Prints 4

次の例では、比較演算子の優先順位を示しています。

Print 5 < 3                        ' Prints False
Print 5 > 3                        ' Prints True
Print "Alphabet" = "Alpha" & "bet" ' Prints True
Print 4 And 10 - 2 * 3 / 2
' Output: 4 because 2 * 3 = 6
'         6 / 2 = 3
'         10 - 3 = 7 (binary 111)
'         4 (binary 100) And 7 (binary 111) = 4 (binary 100).

演算が行われる順序を変えるには、最初に評価する式をカッコで囲みます。

以下に例を示します。

anInt% = 5
anotherInt% = 10
aThirdInt% = 7
print anInt% - (anotherInt% + aThirdInt%)
' Output: -12

または、次のようにすることもできます。

theResult% = -1 Or -1 Imp 0
Print theResult%
' Output: False
' because -1 Or -1 = True, and True Imp 0 is False. 
theResult% = -1 Or (-1 Imp 0)
Print theResult%
' Output: True
' because -1 Imp 0 is False, and -1 Or False is True.

関数は、式の中でどの演算子よりも先に評価されます。

以下に例を示します。

Print -1 > 0
' Output: False
Print Abs(-1) > 0
' Output: True