Java | 数値リテラルに桁区切り文字(_)を使う方法

Java Java
スポンサーリンク

主な内容の要点

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
  • 出力時にはアンダースコアは消える

初心者向けに一言でいうと:
👉 「数字が長くて読みにくいときは、アンダースコアで区切って見やすくしよう!」 という機能です。

タイトルとURLをコピーしました