主な内容の要点
1. Javaの数値リテラルにおける桁区切り
大きな数字を読みやすくするために「_(アンダースコア)」を使える
例: int num = 1_234_567; // 1234567 と同じ意味
- カンマ( , )は使えない
→ Javaではカンマは別の用途に使われるため、区切りには必ずアンダースコアを使う。
2. 使い方の自由度
- 基本は「3桁ごと」に区切ることが多いが、好きな位置に入れてOK
int a = 34_125_910; int b = 34_12_59_10; // これもOK - 整数だけでなく、2進数・16進数・浮動小数点数でも使える
int bin = 0b1010_1101; // 2進数 int hex = 0x3f02_ef01; // 16進数 double pi = 3.14_15_92; // 小数
3. 注意点(エラーになるケース)
- 数値の先頭や末尾に置けない
int x = _123; // エラー int y = 123_; // エラー - 小数点の直前直後や、接頭辞(0x, 0bなど)の直後もNG
double d = 3._1415; // エラー int h = 0x_1234; // エラー
4. 出力時の挙動
- アンダースコアはあくまでソースコード上の可読性のため
- 実際に
System.out.println()で出力すると、アンダースコアは表示されないSystem.out.println(1_234_567); // 出力結果 → 1234567
まとめ
- Javaでは数値リテラルにアンダースコアを入れて読みやすくできる
- 位置は自由だが、先頭・末尾・小数点の隣などはNG
- 出力時にはアンダースコアは消える
初心者向けに一言でいうと:
👉 「数字が長くて読みにくいときは、アンダースコアで区切って見やすくしよう!」 という機能です。
