怠惰系エンジニアのメモ帳

勉強した内容をメモしていきます。

【Java】整数リテラルの表記メモ

JavaSE8 Silverの勉強を始めたのですが、仕様を理解していない箇所がちらほら出てきてるのでメモ。

今回は整数リテラルの表記について。

N進法別の表記

普段利用しない分、完全に忘れてました。

// 10進数
int a = 10;

// 8進数((接頭辞:「0」)
int b = 012;

// 16進数(接頭辞:「0x」)
int c = 0xA;

// 2進数(接頭辞:「0b」
int d = 0b1010;

「_(アンダースコア)」」表記

Java7から整数リテラルに「_(アンダースコア)」が利用できることは知ってましたが、使えないケースを把握していませんでした。

  • 使えないケース

まずは、OKなパターン

int a = 100_000;
int b = 100_____000; // 数に制限は無いらしい

次にNGなパターン

// リテラルの前後
int c = _100_000;
int d = 100_000_;

// 記号の前後
int e = 1_.00;
int f = 0x_10;
int g = 0b_1010;