数値リテラルってなんだ。

JavaSE7で新しい機能が備わった。
それは数値リテラルだ。

バイナリリテラルと、アンダースコアリテラル。
それぞれを説明できるようになろう。

バイナリリテラル
簡単に言うと、可読性の向上が期待されているのかな?
2進数表記をソースコードで表現して良いようになったのだ。

// JavaSE6の場合
byte b1 = (byte)21;

// JavaSE7の場合
byte b2 = 0b10101;

なるほど。2進数表記になると、確かにわかりやすいかも。
データ通信とかが固定長だったりした場合に役立つのかな?

アンダースコアリテラル
これは一体なんなんだ。
数値に意味を持たせるためのもの??
う~~~ん、よくわからんぞ。

// JavaSE6の場合
int i = 11111;

// JavaSE7の場合
int j = 1_1_1__1___1;

ん?絵文字か?
コンパイル時には読み飛ばされるらしい。
数値に意味を持たせるには、確かにアンスコ使えればいいけど、実用方法がわからない。

使えそうな時があれば使ってみよう。