演算子
演算子(えんざんし、operator symbol / operator name)は、数式やコンピュータプログラミング言語などで、各種の演算を表わす記号・シンボルのことです。
通常は、演算子は単なる記号ないし記号列であって構文論的なものであり、それに対応する演算は意味論の側にあります。
プログラムにて演算を行う為の「式」は、数学における数式のように演算の種類を表す「演算子」と演算対象となる「値」から構成されます。
ここでの式で利用する値(被演算子)のことを「オペランド(operand)」と呼びます。
算術演算子(二項演算子)
算術演算子は必ず2つのオペランドをとります。
このように演算対象のオペランドを二つとる演算子を「二項演算子」と呼びます。
演算時は通常の数式と同様に優先順が存在し、「*」、「/」、「%」が優先され、左から順に演算します。
また、通常の数式と同様に「()」を使用することで優先順を制御できます。
演算 | 演算子 | 用例 | 備考 |
---|---|---|---|
加算 | + | a + b | |
減算 | - | a - b | |
乗算 | * | a * b | |
除算 | / | a / b | 0除算はエラーとなります |
剰余演算 | % | a % b | 除算時の余り |
単項演算子
単項演算子は「インクリメント演算子」、「デクリメント演算子」とも呼ばれ、数値を1増やす(インクリメント)、または数値を1減らす(デクリメント)ことができます。
これらの演算子は前後のオペランドに対して作用し、前置と後置にて挙動が異なります。
演算 | 演算子 | 用例 | 備考 |
---|---|---|---|
前置インクリメント | ++ | ++a | aが使用される前に1加算 |
後置インクリメント | a++ | aが使用された後に1加算 | |
前置デクリメント | -- | --a | aが使用される前に1減算 |
後置デクリメント | a-- | aが使用された後に1減算 |
条件演算子(三項演算子)
被演算子を3つとる演算子のことで、条件文と同様な意味があるが、文ではなく値を持つ式になります。
評価されると、条件式の値により異なる式が評価され、異なる値になります。
演算 | 演算子 | 用例 | 備考 |
---|---|---|---|
条件演算子 | ?: | a ? b : c | a(条件式)が真でのときbを、偽ときはcを演算結果とする |
代入演算子
左辺の変数への代入を行います。
通常の代入を「単純代入」と呼び、左辺に対する演算を実施し、その結果を代入することを「複合代入」と呼びます。
演算 | 演算子 | 用例 | 備考 |
---|---|---|---|
単純代入 | == | a == b | aにbを代入 |
複合代入(加算) | += | a += b | aにa+bの結果を代入 |
複合代入(減算) | -= | a -= b | aにa-bの結果を代入 |
複合代入(乗算) | *= | a *= b | aにa*bの結果を代入 |
複合代入(除算) | /= | a /= b | aにa/bの結果を代入 |
複合代入(剰余) | %= | a %= b | aにa%bの結果を代入 |
関係演算子
二つの被演算子の関係を示す記号のことを関係子といいます。
関係子を、二つの被演算子の関係が「真」であるか「偽」であるかを判定する演算を表す演算子とみなすとき、関係演算子といいます。
関係演算子も二項演算子として機能することから中置記法で記されます。
演算 | 演算子 | 用例 | 備考 |
---|---|---|---|
等しい | == | a == b | |
等しくない | != | a != b | |
より大きい | > | a > b | |
より小さい | < | a < b | |
以上 | >= | a >= b | |
以下 | <= | a <= b |
論理演算子
論理演算子は「&&」と「||」を使用した場合、左側から順に式が評価され、その評価は全体の「真」、「偽」が決定した時点で終わります。
これは左側の式の真偽が、右側の式の実行条件になっている、ことを意味します。
つまり、左側の式の真偽によって、右側の式が実行されないことがあります。
演算 | 演算子 | 用例 | 備考 |
---|---|---|---|
論理積 | && | a && b | aかつb |
論理和 | || | a || b | aまたはb |
否定 | ! | !a | aが真のとき偽、aが偽のとき真 |