目次 前ページ 次ページ

演算子


演算子を優先度の高い順に挙げると以下のようになる。
後置 ++ 後置インクリメント。左辺は変数または配列である必要がある。
-- 後置デクリメント。左辺は変数または配列である必要がある。

単項 [++] 前置インクリメント。右辺は変数または配列である必要がある。
[--] 前置デクリメント。右辺は変数または配列である必要がある。
[~] 補数
[!] 否定
[-] 単項マイナス
[+] 単項プラス

二項 * 乗算
/ 除算
% モジュロ(剰余)

+ 加算(プラス)
- 減算(マイナス)

<< 左シフト
>> 右シフト

< 未満
<= 以下
> より大きい
>= 以上

== 等しい
!= 等しくない

& ビット単位の論理積

^ ビット単位の排他的論理和

| ビット単位の内包的論理和

&& 論理積

|| 論理和

三項(条件式) condition ? expr1 expr2 conditionが評価され、それが真ならexpr1が条件式の値となる。そうでないときはexpr2が条件式の値となる。

代入
= *= /= %= += -=
<<= >>= &= |= ^=

左辺は変数または配列である必要がある。結果の値は代入先の変数または配列の値になる。また、代入演算子が同じ計算式に複数存在する場合、右側から実行される。例えば、

@A=@B=1

と記述すると、まず@B=1が実行されて@Bの値が1になる。次に@A=@Bが実行されて@Aの値が1になる。計算結果の値は最終的に1になる。


コンマ expr1 , expr2 expr1expr2が実行され、計算結果の値はexpr2の値となる。

1)二項演算子の左辺が省略されると、左辺に計算結果用変数@を指定したことと同じになる。

例えば、以下のように記述できる。

*123 # @*123に同じ
123/(-456) # 123/(@-456)に同じ。ここでの演算子-は、二項マイナス。

2)三項演算子?の左辺conditionを省略すると、計算結果用変数@が評価される。


目次 前ページ 次ページ