演算子
代入演算子
基本となる代入演算子は、=で、右側の式を評価した値を、左側に入れます(代入します)。左側は必ず変数でなければなりません。
a = 100000;
kekka = a * b / c;
=の他に、次に示す算術演算子と代入演算子を組み合わせて使う場合の短縮形が用意されています。
------------------------------------------------
演算子 使い方 意味
------------------------------------------------
= op1 = op2 op2の値をop1に入れる
+= op1 += op2 op1 = op1 + op2と同じ
-= op1 -= op2 op1 = op1 - op2と同じ
*= op1 *= op2 op1 = op1 * op2と同じ
/= op1 /= op2 op1 = op1 / op2と同じ
%= op1 %= op2 op1 = op1 % op2と同じ
------------------------------------------------
・左側は変数
算術演算子
四則演算などの算術的な計算をするための演算子で、次に示す算術演算子があります。例えば、x+yはxの値とyの値を加えた値が演算結果になります。
-------------------------------------------------------------
演算子 使い方 意味
-------------------------------------------------------------
+ op1 + op2 op1とop2を加える
- op1 - op2 op1からop2を引く
* op1 * op2 op1とop2を掛ける
/ op1 / op2 op1をop2で割る
% op1 % op2 op1をop2で割った余り
+ +op opの値
- -op opの値の符号を反対にする
++ ++op opの値を1増やす。増やす前にopを使う。
++ op++ opの値を1増やす。増やした後にopを使う。
-- --op opの値を1減らす。減らす前にopを使う。
-- op-- opの値を1減らす。減らした後にopを使う。
-------------------------------------------------------------
・opは数値を表す基本データ型の値
・文字列に対して+演算子を使うと、2つの文字列をつなげるという
特別な働きをします。
"Java" + "スクリプト"
の演算結果は、"Javaスクリプト"です。
関係演算子
2つの値を比較して、その間の関係を調べ、trueかfalseを返す演算子で、次の関係演算子があります。関係演算子を使った演算は、分岐や繰り返し制御を行う際の条件に使われます。
-----------------------------------------------------
演算子 使い方 trueを返す場合の条件
-----------------------------------------------------
> op1 > op2 op1がop2より大きい時
>= op1 >= op2 op1がop2より大きいか等しい時
< op1 < op2 op1がop2より小さい時
<= op1 <= op2 op1がop2より小さいか等しい時
-----------------------------------------------------
== op1 == op2 op1とop2が等しい時
!= op1 != op2 op1とop2が等しくない時
-----------------------------------------------------
論理演算子
関係演算子は2つの値の関係を調べて、真偽値を返しましたが、1つの関係だけでなく、複数の関係から真偽値を得たい場合に、論理演算子を使います。例えば、「xがyより大きく、かつaがbと等しい場合」といった条件を調べたい時には、論理演算子を使って2つの関係演算をつなぎます。「かつ」に相当する演算子は&&であり、次のように記述します。
x>y && a==b
論理演算子は値を左から右に調べ、条件を満たさないと分かると直ちに値を返し、その後にある値は評価しません。
------------------------------------------------------
演算子 使い方 trueを返す場合の条件
------------------------------------------------------
&& op1 && op2 op1とop2の両方がtrueの時
|| op1 || op2 op1とop2のどちらかがtrueの時
! !op opがfalseの時(opの否定)
------------------------------------------------------
・opはbooleanの値
その他の演算子
上に説明した以外の演算子について、まとめて述べます。
- シフト演算子 .... >>、<<、>>>
ビットの操作を行う演算子で、左側の値のビットの並びを右側の値で指定した数だけずらします(シフト)。
例: x<<4 → 変数xのビット列を4ビット左にずらす。
- ビット演算子 .... &、|、^
ビットベースで論理演算を行う演算子で、&、|、^は、それぞれ2つの値の対応するビットごとに論理積、論理積、排他的論理和をとります。
例: 12 & 13 → 12(1100)と13(1101)のビットごとの論理積をとる(結果は12)。
- ?:演算子
次のように記述する特別な演算子で、op1の値が真の時op2を、偽の時op3が、その演算結果になります。
op1 ? op2 : op3
例: x>y ? x : y → xがyより大きかったらxを、そうでなければyを返します。
- new演算子
オブジェクトを作るのに使います。
例 d = new Date();
- void演算子
void演算子は,次のように,値を返すことなく評価される式を記述するのに使います。
javascript:void(式)
javascript:void 式
式は評価されますが,値は返りません。void演算子を使った式は,例えばリンクタグのhrefに指定することがあります。次の例では何もロードされません。
例:<A href="javascript:void(0)">
ここをクリックしても何も起らない</A>
演算子の優先順位
ひとつの式の中に複数の演算子が使われている場合がありますが、どの演算を先に実行するかを決めるのが、演算子の優先順位です。次に演算子の優先度を示しました。上方にある演算子は下方の優先度よりも先に評価され、同じ行にある演算子は左から右へ順に評価されます。
---------------------------------------------------------
種類 演算子
---------------------------------------------------------
後置演算子 [] () . op++ op--
前置演算子 ++op --op +op -op ~ ! void
乗除演算子 * / %
加減演算子 + -
シフト演算子 >> << >>>
関係演算子 < > <= >=
等価演算子 == !=
ビット論理積 &
ビット排他的論理和 ^
ビット論理和 |
論理積 &&
論理和 ||
3項演算子 ? :
代入演算子 = += -= *- /= %= ^= &=
|= <<= >>= >>>=
---------------------------------------------------------
arigat アットマーク acm.org
Last modified: Oct. 2014