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まとめ
- 優先順位を覚えておくと「なぜこの結果になるのか」が理解できる。
- ただし、迷ったら必ず括弧を使うのが安全で読みやすい。
- プログラムは「人に読んでもらうもの」でもあるので、括弧で意図を明示するのは良い習慣。
