Javaのリテラル

Javaのリテラルとは数値や文字、文字列データを表現するための形式です。定数といった方が分かりやすいですが、Javaにおいて別の意味も持つので、こう呼ばれています。この記事ではリテラルの書き方をご紹介します。

進数

数値を進数で表すには、各々の進数に応じた接頭辞を数値の頭に付ける。

進数の接頭辞
進数 接頭辞
2進数 0b
8進数 0
10進数 なし
16進数 0x

10進数

10進数はそのまま記述する。

int x = -25;
int array[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };

8進数

8進数は、数値に接頭辞0を付ける。

int x = 077;
int array[] = { 01, 02, 03, 04, 05, 06, 07, 010 };

16進数

16進数は、数値に接頭辞0xを付ける。a, b, c, d, e, fは大文字でも小文字でもよい。

int x = 0x7FFF;
int array[] = { 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf, 0x10 };

文字

文字は単一引用符で囲む。

char x = 'A';

文字列

文字列は2重引用符で囲む。

String x = "abcde";

long型

long型を表す数値リテラルには、数値の後に L または l の接尾辞を付ける。

long x = 100L;
long y = 10l;

倍精度浮動小数

倍精度浮動小数はそのまま記述するか、指数形式で表す。指数形式で表す場合、接尾子 E n を付ける( n は指数、Eは大文字でも小文字でもよい)。

float x = 3.1415;
float y = 0.31415e1;
float z = 31415E-1;

単精度浮動小数

単精度浮動小数は接尾子 F を付けるか、指数形式で表す。指数形式で表す場合、接尾子 E n F を付ける( n は指数)。接尾子の F および E は大文字でも小文字でもよい

double x = 3.1415f;
double y = 0.31415E1F;
double z = 31415e-1f;

エスケープ文字

文字や文字列において、\ の後に特殊な記号を追加することで、特殊な文字を表示することができる。

表現 意味
\n 改行
\t 水平タブ
\\ 円記号(環境によってはバックスラッシュ)
\' シングルクォーテーション
\" ダブルクォーテーション
\b 1文字戻る
\r その行の先頭に戻る
\uxxxx 4桁の数値 (xxxx) で表した Unicode の文字

数値リテラル内のアンダースコア

Javaでは数値リテラルにおける桁の間にアンダースコアを含めることができる。 数値リテラルの中にアンダースコアを入れても、数値に影響を与えない。 これは単純に、桁区切りを見やすくするためだけの機能である。

int x = 12_000_000; // 12,000,000

long y = 0x7F_FF_FF; // 7fffff

float pi = 3.14_15F; // 3.1415