数値リテラルに桁区切り文字を記述する

数値リテラルでは非常に大きい数値を読みやすくするために、 3 桁毎に区切り文字を入力することができます。一般的には 3 桁毎に 1,234,567 のようにカンマ(,)で区切るのが一般的ですが、 Java においてはカンマは別の用途で使用しているためアンダーバー(_)で区切ります。ここでは Java の数値リテラルで桁区切り文字を記述する方法について解説します。

(Last modified: )

桁区切り文字の記述の仕方

Java の数値リテラルで桁区切り文字を記述する場合はアンダーバー(_)を使用します。

8_200
34_125_910

一般的には 3 桁毎に区切りますが、特に制限はありませんのでどのように桁区切り文字を記述しても構いません。

8__200
34_12_59_10

10 進数だけでなく 2 進数や 16 進数、また浮動小数点数でも桁区切り文字を記述することができます。

0b1_11_11_10_10
0x3f02_ef01
3.14_15_78

ただし数値の先頭や最後、また数値と数値以外の間には記述できません。次のような記述はすべてエラーとなります。

_780
92_
8._702
0x_802f

桁区切り文字はプログラムの可読性のためのものなので、数値リテラルを画面に出力したりする場合には取り除かれて表示されます。

サンプルコード

それでは簡単なサンプルプログラムを作って試してみます。テキストエディタで次のように記述したあと、 JSample9-1.java という名前で保存します。

class JSample9_1{
  public static void main(String[] args){
    System.out.println(1_234_567);
    System.out.println(0b10_11_01_10);
  }
}

コンパイルを行います。

javac -encoding UTF-8 JSample9_1.java

その後で、次のように実行してください。

java JSample9_1

桁区切り文字の記述の仕方(1)

整数リテラルに桁区切り文字を加えて表現し、その値を画面に出力しました。画面に出力すると桁区切り文字は取り除かれています。

-- --

Java の数値リテラルで桁区切り文字を記述する方法について解説しました。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。