public class Main {
public static void main(String[] args) {
int price = 1_980_000;
System.out.println(price);
}
}
選択肢
- あなたの回答
- 正解
正解
C. 1980000 が表示される
詳細解説
Java 7 以降では数値リテラル内にアンダースコアを使って桁区切りを表せます。アンダースコアは無視され、値は 1980000 として扱われます。
なぜ他の選択肢が違うのか
- アンダースコア区切りは Java 7 以降の正当な構文です。
- アンダースコアは表示されず数値そのものが出力されます。
- 宣言時に値が代入されているため 0 にはなりません。
罠ポイント
アンダースコアはリテラルの先頭・末尾・小数点の直前後には置けません。