演算子と優先順位

次の表は、EGL 演算子を降順にリストしたものです。 単項のプラス (+)、マイナス (-)、および not (!) を除き、各演算子では 2 つのオペランドを使用します。

演算子 (コンマ区切り) 演算子の型 意味
+、– 数値、単項 単項のプラス (+) やマイナス (-) は、オペランドや括弧で囲まれた式の前に付く符号であり、2 つの式の間に使用される演算子ではありません。
** 数値 ** は toThePowerOfInteger 演算子で、指定された累乗の数値を受け入れます。 例えば、c = a**b と指定すると、c に (a^b) の値が代入されます。 第 1 オペランド (上の例では a) を負の値にすることはできません。 第 2 オペランド (上の例では b) は整数または精度 0 の数値フィールドであることが必要です。第 2 オペランドは、正、負、ゼロのいずれでもかまいません。
*, /, % 数値 乗算 (*) と整数除算 (/) は、等しい優先順位を持ちます。 整数の除算では、小数値があれば、その値も保持されます。例えば、7/5 は 1.4 になります。

% は、剰余 演算子です。 この演算子は、前者のオペランドまたは数式を後者で割ったときのモジュラスに解決されます。 例えば、7%5 は 2 になります。

Java™ と COBOL の EGL 出力間で演算結果を確実に整合させる必要がある場合は、なるべく剰余演算子を使用しないでください。

+、– 数値 加算 (+) と減算 (-) は、優先順位が同等です。
= 数値またはストリング = は、代入 演算子で、式やオペランドからオペランドに数値や文字値をコピーします。
! 論理、単項 ! は、not 演算子で、直後の論理式の値を反転したブール値 (真または偽) に解決されます。この演算子の後ろにくる式は、括弧で囲む必要があります。
==、!=、<、>、<=、>=、in、is、not 論理 (比較用) 比較のために用いられる論理演算子は、いずれも等しい優先順位を持ちます。これらの演算子は、論理式のページで説明されています。各演算子は真または偽に解決されます。
&& 論理 && は、and 演算子で、「両方が真でなければならない」ことを意味します。この演算子は、演算子の前にある論理式が真で、演算子の後ろにある論理式も真である場合に、真に解決されます。 それ以外の場合、&& は偽に解決されます。
|| 論理 || は、or 演算子で、「どちらか一方、または両方」を意味します。この演算子は、演算子の前にある論理式が真であるか、演算子の後ろにある論理式が真であるか、あるいはその両方が真である場合に、真に解決されます。 それ以外の場合、|| は偽に解決されます。

通常の優先順位 (演算の順番 とも呼ばれる) は、括弧を使用してある式を他の式から分離することによって オーバーライドできます。式内に同じ優先順位を持つ演算子がある演算では、左から右の順番で実行されます。

関連する参照項目
in 演算子
論理式
数式
プリミティブ型
テキスト式

ご利用条件 | フィードバック
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.(C) Copyright IBM Japan 2005.