Java | 図解で学ぶ単項マイナスと演算子優先順位

Java Java
スポンサーリンク

ここからは、図解で学ぶ単項マイナスと演算子優先順位を解説します。

  • 単項マイナス(-)の動き
  • インクリメント/デクリメント(++ / --)との組み合わせ
  • 式中での優先順位や括弧の影響
    を視覚的に理解できる内容です。

1. 単項マイナスの基本イメージ

a = 5
-a  →  符号反転 → -5

a = -3
-a  →  符号反転 → 3
  • ポイント: -x は「x の値を反転するだけ」

2. 単項マイナスとインクリメント/デクリメント

演算子意味図解例
++x前置インクリメントx=3 → ++x=4
x++後置インクリメントx=3 → x++=3(実行後 x=4)
–x前置デクリメントx=3 → --x=2
x–後置デクリメントx=3 → x--=3(実行後 x=2)

図解例:-++x と -x++

x = 3

-++x:
  Step1: ++x → x=4
  Step2: -4 → 出力 -4

-x++:
  Step1: x++ → 値 = 3 (後置)
  Step2: -3 → 出力 -3
  Step3: x = 4 (増加)
  • ポイント: 前置は先に増減、後置は後で増減

3. 演算子優先順位の図解

順位 高 → 低

1. ()               : 括弧
2. ++, --, - (単項) : 前置
3. *, /, %          : 乗除
4. +, - (二項)      : 加減

図解例:

int a=2, b=3, c=4;
System.out.println(-a + b * -c);
Java

計算順序:

  1. -a → -2
  2. -c → -4
  3. b * -c → 3 * -4 = -12
  4. -a + (b*-c) → -2 + -12 = -14

4. ネスト例

int x=2;
System.out.println(-(-x++));
Java

図解:

Step1: x++ = 2 (後置)
Step2: -x++ = -2
Step3: -(-x++) = 2
Step4: x = 3 (増加)
  • ポイント: 符号のネストは内側から外側へ計算

5. 配列+単項マイナスの視覚化

int[] arr = {1,2,3};
System.out.println(-arr[1]);
Java
arr[1] = 2
-arr[1] = -2 → 出力

6. 後置・前置+配列の応用

int[] arr = {1,2,3};
System.out.println(-arr[0] + arr[1]--);
Java

図解:

Step1: arr[0] = 1 → -arr[0] = -1
Step2: arr[1]-- = 2 (後置)
Step3: -1 + 2 = 1 → 出力
Step4: arr[1] = 1 (減少)

7. 浮動小数点の注意点

double z = -0.0;
1.0 / z → -Infinity
  • 符号が 0.0 にも影響
  • -0.00.0 は == では同じだが計算結果は異なる

8. 練習用図解テンプレート

  1. 式を書き出す → 例: -++x + y * -z
  2. 括弧で順序を明示(-(++x)) + (y * (-z))
  3. 一歩ずつ計算
    • 前置/後置の増減
    • 符号反転
    • 乗除/加減の順
  4. 結果を確認

💡 コツ:

  • 「単項演算子は優先順位が高い」
  • 「前置/後置の差を意識」
  • 「括弧を使って順序を明示」

これだけ理解すれば、複雑な式でも頭の中で計算できるようになります。

Java
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました