この記事では、演算子の優先順位について説明します。
複合式を評価する順番は重要です。 オペレーションを実行する順序をコンパイラに明示的に伝えていない場合、順序は演算子の優先順位に基づいています。 かっこ ( )
を使用すると、式の評価方法を明示的に X++ コンパイラに指示することができます。
たとえば、式 x + y / 100
では、追加または区分を最初に実行するかどうかによって、結果が異なります。 除算演算子には、加算演算子より高い優先順位があるため、コンパイラはまず y/100
を評価します。 つまり、x + y / 100
は x + (y / 100)
と等しくなります。 式 (x + y)/ 100
を作成するためにかっこを追加すると、x + y
が最初に評価されます。
コードを読みやすく管理しやすくするために、明示的にし、最初に評価すべき演算子をかっこで示します。
演算子の優先度順
次のテーブルの演算子は、優先順位の順に並べられています。 テーブルの演算子は高いほど、その優先順位が高くなります。 高い優先順位がある演算子は、低い優先順位がある演算子より前に評価されます。 X++ の演算子の優先順位は、C# および Java などの他の言語と同じではありません。
演算子 (優先順位) | 構文 |
---|---|
単項演算子 | - ~ ! |
乗算、シフト、AND、ビット演算排他的 OR | * / % DIV << >> & ^ |
加法、ビット演算包括的 OR | + - |
リレーショナル、同等 | < <= == != > >= like as is |
論理演算子 (AND、OR) | && || |
条件付 | ? : |
テーブルの同じ行の演算子には、同等な優先順位があります。 式にこれらの演算子が 1 つ以上ある場合、代入演算子が使用されていない限り、式は左から右に評価されます。 代入演算子は右から左に評価されます。 たとえば、&&
(論理的 AND) および ||
(論理的 OR) は、優先順位が等しく、左から右に評価されます。 つまり、0 && 0 || 1 == 1
、および 1 || 0 && 0 == 0
です