演算子の優先順位と結合規則
式エバリュエータがサポートする演算子セット内の各演算子には、優先順位の階層内で指定された優先順位があり、演算子が評価される方向が含まれています。演算子の評価の方向は、演算子の結合規則と呼ばれます。優先順位の高い演算子が先に評価されます。複合式に複数の演算子がある場合、演算子の優先順位により、操作が実行される順序が決定されます。実行される順序により、結果の値は大きく変わります。演算子の一部には、優先順位が同じものがあります。式に複数の演算子が含まれており、その優先順位が同じ場合、それらの演算子は、左から右または右から左の方向に評価されます。
次の表に、演算子の優先順位が高い順に一覧表示します。同じレベルの演算子の優先順位は、同じです。
演算子記号 | 演算の種類 | 結合規則 |
---|---|---|
( ) |
式 |
左から右 |
–, !, ~ |
単項 |
右から左 |
キャスト |
単項 |
右から左 |
*, / ,% |
乗算 |
左から右 |
+, – |
加算 |
左から右 |
<, >, <=, >= |
比較 |
左から右 |
==, != |
等式 |
左から右 |
& |
ビット演算子 AND |
左から右 |
^ |
ビット演算子排他的 OR |
左から右 |
| |
ビット演算子包含的 OR |
左から右 |
&& |
論理 AND |
左から右 |
|| |
論理 OR |
左から右 |
? : |
条件式 |
右から左 |