public class Main {
public static void main(String[] args) {
int a = 5;
int b = a++ + ++a;
System.out.println(a + ":" + b);
}
}
選択肢
- あなたの回答
- 正解
正解
A. 7:12
詳細解説
a++ は評価時に現在値 5 を返し、その後 a を 6 にします。次の ++a は先に a を 7 にしてから値 7 を返します。よって b = 5 + 7 = 12、a = 7 となります。
なぜ他の選択肢が違うのか
- a++ の後に ++a があるので a は最終的に 7 になります。
- b = a++ + ++a は 5 + 7 = 12 になります。
- a は 5 → 6 → 7 と変化するため最終値は 6 ではなく 7 です。
罠ポイント
後置は評価後に増加、前置は評価前に増加します。式の左から順に評価されることも合わせて確認しましょう。