演算子と優先順位

優先順位 種類 演算子 注意
1(最高) 後置演算子  (引数)
 []
 .
 ++
 --
 readLine()
 array[0]
 r.width
 i++
 i--
2 単項演算子  ++
 --
 +
 -
 ~
 !
 ++i
 --i
 +100
 -1
 ~1
 !ok




ビットの反転
論理の反転
3 生成とキャスト演算子  new
 (型)
 new Rectangle()
 (int)c
4 積と商の演算子  *
 /
 %
 1 * 2
 3 / 2
 365 % 7


剰余の計算
5 和と差の演算  +
 -
 "error" + e
 3 - 2
文字列なら連結になる
6 シフト演算子  <<
 >>
 >>>
 1 << n
 value >> 1
 value >>> 1
左シフト
右シフト
符号無しの右シフト
(最上位ビットは常に0)
7 関係演算子  <
 >
 <=
 >=
 instanceof
 i < 10
 p > 50
 20 <= age
 17 >= age
 obj instanceof Rectangle
8 等値演算子  ==
 !=
 answer == 100
 obj != null
9 ビット積演算子  &  value & BITMASK
10 ビット排他的論理和
演算子
 ^  value ^ CRYPTMASK
11 ビット和演算子  |  value | OKFLAG
12 論理積演算子  &&  i < a.length && a[i] >100 左がfalseなら右は評価しない
13 論理和演算子  ||  left == 0 || right == 0 左がtrueなら右は評価しない
14 条件演算子  ? :  cond ? x : y condがtrueなら式の値はx、
falseならy
15(最低) 代入演算子  =
 +=
 -=
 *=
 /=
 %=
 >>=
 <<=
 >>>=
 &=
 ^=
 |=
 n = 0;
 i += 100;
 i -= 100;
 value *= 10;
 value /= 10;
 days %= 7;
 value >>= 1;
 value <<= 1;
 value >>>= 1;
 value &= BITMASK;
 value ^= CRYPTMASK;
 value |= OKFLAG;








符号無し右シフト

戻る / ホーム