順次、選択、そして繰り返し

プログラミングのことやITのこと、たまに演劇のことも書きます。

数値リテラルについて

2進リテラル


Java7から先頭に0bを入れることで2進数として判定されるようになった。

ソースコード
int val1 = 20;
int val2 = 024;
int val3 = 0x14;
int val4 = 0b10100;

System.out.println("10進数:" + val1);
System.out.println("8進数:" + val2);
System.out.println("16進数:" + val3);
System.out.println("2進数:" + val4);
実行結果
10進数:20
8進数:20
16進数:20
2進数:20

アンダースコアがある数値リテラル


Java7から数値リテラルを扱うときに数字の途中に「_」を使用できるようになった。 桁数の大きな数値リテラルの可読性を高めるときに使用する。

ソースコード
int val5 = 2_0;
int val6 = 02_4;
int val7 = 0x1_4;
int val8 = 0b1_0_1_0_0;

System.out.println("10進数:" + val5);
System.out.println("8進数:" + val6);
System.out.println("16進数:" + val7);
System.out.println("2進数:" + val8);
実行結果
10進数:20
8進数:20
16進数:20
2進数:20

数値リテラルの中に「_」を使用する場合、以下の場所には使用できない。

  • リテラルの先頭、末尾は使用できない
  • 浮動小数リテラルにある小数点の前後には使用できない
  • float値やlong値を表すfやLなどの前には使用できない
  • 16進数で使用する0xや2進数の0bの途中及び前後には使用できない