Javaのリテラルとは数値や文字、文字列データを表現するための形式です。定数といった方が分かりやすいですが、Javaにおいて別の意味も持つので、こう呼ばれています。この記事ではリテラルの書き方をご紹介します。
数値を進数で表すには、各々の進数に応じた接頭辞を数値の頭に付ける。
進数 | 接頭辞 |
---|---|
2進数 | 0b |
8進数 | 0 |
10進数 | なし |
16進数 | 0x |
10進数はそのまま記述する。
int x = -25;
int array[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
8進数は、数値に接頭辞0を付ける。
int x = 077;
int array[] = { 01, 02, 03, 04, 05, 06, 07, 010 };
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型を表す数値リテラルには、数値の後に 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