演算子とは、データに対して何らかの処理を加えるもので、主に数値型のデータに対して処理するものがほとんどです。演算子では処理するデータをオペランドと呼び、演算子によって構成されるものを式と呼びます。演算子には、単項演算子、二項演算子、三項演算子の3種類の構成パターンがあり、使用する演算子が異なります。
| 単項演算子 | オペランドを1つ使用する式。+10や-5。 |
| 二項演算子 | オペランドを2つ使用する式。算術演算などのほとんどの演算子はこれに含まれる。 |
| 三項演算子 | オペランドを3つ使用する式。条件演算子(?:)のみ。 |
数値型で使用する演算子で、一般の加減乗除に加えて、わり算の余りを求める剰余算が加わります。
|
// 足し算 // 引き算 // 掛け算 // 割り算 // 剰余算 // 結果を出力 |
-- 実行結果
15
5
6
7
2
数値は実際にはビットの表現(2進数)で保持されています。ビット演算子は、そのビットを使った演算を行います。
|
var a = 8; // 左へビットをシフトします。(<<) // 右へビットをシフトします。(>>) // 論理積(AND)をします。(&) // 論理和(OR)をします。(|) // 排他的論理和(XOR)をします。(^) // 否定(NOT)します。(~) // 結果を出力 |
-- 実行結果
8
128
32
0
160
168
-169
演算結果の式をオペランドとして、演算子と組み合わせることができます。
| var a1 = 10 + 3 - 5; var a2 = a1 * 3; var a3 = ( a2 + a1 ) * 4; |
組み合わせた場合の演算子の優先順位は決まっていて、下のようになっています。この優先順位を変更するには、括弧 "()" を使います。括弧を使うとその括弧内の演算を優先して行うので、演算子の優先順位を変えることができます。上から下へ優先順位が低くなっていきます。
()
*,/,%
+,-
!=,==
&,|
&&,||
=
() を使うことによって、下の例では結果が変わってきます。
| var c = 4 * 3 - 2; trace( c); var c = 4 * ( 3 - 2 ); trace( c ); |
-- 実行結果
10
4
また変数に対して演算を行う場合に、その演算結果を元の変数に格納する場合は省略した書き方で記述できます。
| var a += 5; var b -= 5; var c *= 3; var d /= 4; var e %= 3; var b <<= 4; var c >>= 2; var d &= c; var e |= c; var f ^= a; |