Java | 演算子の優先順位と結合規則

Java Java
スポンサーリンク

Java 演算子の優先順位(初心者向けまとめ)

Java では、複数の演算子が並んだときに「どれを先に計算するか」を決めるルールがあります。これを 演算子の優先順位 と呼びます。また、同じ優先度の演算子が並んだときに「左からか右からか」を決めるのが 結合規則 です。

以下の表は、よく使う演算子を優先度順に整理したものです。


演算子の優先順位表

優先度(高→低)演算子説明結合規則
1()丸括弧(グループ化)
2++ -- (前置)インクリメント・デクリメント(前置)右から左
3* / %掛け算・割り算・余り左から右
4+ -足し算・引き算左から右
5< <= > >=大小比較左から右
6== !=等しい/等しくない左から右
7&&論理積(AND)左から右
8||論理和(OR)左から右
9?:三項演算子(条件演算子)右から左
10= += -= *= /= など代入・複合代入右から左

覚えておきたいポイント

  • 括弧 () が最優先
    → どんなに複雑でも、括弧で囲んだ部分が最初に計算されます。
  • 算数と同じルールが基本
    → 掛け算・割り算が足し算・引き算より先。
  • 代入は最後に処理される
    → しかも右から左へ流れるので、a = b = 5; のような書き方が可能。
  • 論理演算子の順番に注意
    &&(AND)は ||(OR)より優先度が高い。条件式を書くときに重要。

✅ 例題で確認しよう

例1:算数と同じルール

int result = 10 + 5 * 2; 
// 掛け算が先 → 10 + (5*2) = 20
Java

例2:比較と論理演算子

boolean check = 3 > 2 && 5 > 10;
// (3 > 2) = true, (5 > 10) = false
// true && false = false
Java

例3:代入の右結合

int a, b, c;
a = b = c = 7;
// 右から代入 → c=7, b=7, a=7
Java

例4:括弧で意図を変える

int x = (10 + 5) * 2; // 15 * 2 = 30
int y = 10 + 5 * 2;   // 10 + (5*2) = 20
Java

まとめ

  • 優先順位を覚えておくと「なぜこの結果になるのか」が理解できる。
  • ただし、迷ったら必ず括弧を使うのが安全で読みやすい。
  • プログラムは「人に読んでもらうもの」でもあるので、括弧で意図を明示するのは良い習慣。
タイトルとURLをコピーしました