【Java】リテラルとは?リテラルについて分かりやすく解説!
数字の「1」や文字列の「Hello」など、
ソースコードに記載されている値のことをリテラルと言います。
例えば、このような変数を定義したとします。
1 |
int month = 7; |
整数値7を表すので、リテラルは7になります。
ですので数字、文字、文字列はすべてリテラルということになります。
Javaには、数値、文字、文字列、ブール値を表すさまざまな種類のリテラルがあります。
リテラルの一覧
整数リテラル
Javaにはいくつかの整数リテラルがあります。たとえば、数値4はint変数型の整数リテラルです。
intが保持できるよりも大きい整数リテラルは、long型であると自動的に見なされます。
数字に文字L(Lまたはl)を追加することにより、リテラルがlong整数であることを示すこともできます。
たとえば、次のコードは値5をlong整数として扱います。
1 |
sum = sum + 5L; |
負の数をリテラルとして表すには、-45のように、リテラルの前にマイナス記号(-)を付加します。
8進数でリテラル整数を使用する必要がある場合は、数値の前に0を付加します。
たとえば、8進数の777はリテラル0777になります。
16進整数は、数値を0x12または 0xFFのように、先頭に0xを付けることにより、リテラルとして使用されます。
8進数および16進数のシステムは、多くの高度なプログラミング用途に便利ですが、
初心者が必要とすることはほとんどありません。8進数 は8を基数とする番号方式です。
つまり、0から7までの値を1桁でしか表現できません。
8進数の8番目の数値は10(またはJavaリテラルとして010)です。
16進数は、基数16の番号付けシステムで、16の数値を1桁として表すことができます。
最初の16の数字であるので、
0、1、2、3、4、 5、6、7、8、9、A、B、C、D、E、Fとなり
AからFは最後の6桁の数字を表します。
浮動小数点リテラル
浮動小数点リテラルでは、小数点にピリオド文字(.)を使用します。
次のステートメントは、リテラルを使用してdouble変数を設定します。
1 |
double valFlo = 2.25; |
すべての浮動小数点リテラルは、floatではなくdouble変数型と見なされます。
floatのリテラルを指定するには、次の例のように、文字F(Fまたはf)をリテラルに追加します。
1 |
float valFlo= 3.1418827F; |
浮動小数点リテラルで指数を使用するには、文字eまたはEの後に指数を続けます。
指数は負の数にすることもできます。次のステートメントでは、指数表記を使用しています。
1 2 |
double valDou = 12e67; double valDou2 = 19E-90; |
ブールリテラル
ブール値trueおよびfalseもリテラルです。これらは、ブール変数型に値を割り当てるとき、
または他の方法でステートメントでブール値を使用するときに使用できる値になります。
Cなどの別の言語を使用している場合、値1はtrueと同等であり、
0は falseと同等であると期待するかもしれません 。これはJavaには当てはまりません。
boolean値を表すには、trueまたはfalseの値を使用する必要があります。
次のステートメントは、boolean変数を設定します。
1 |
boolean valBool = true; |
リテラルtrueの前後には引用符がないことに注意してください。
含まれている場合、Javaコンパイラは文字列であると想定します。
文字リテラル
文字リテラルは、’a’、’#’、 ‘3’などの単一引用符で囲まれた単一の文字で表されます。
あなたは、文字、数字、句読点、および計算に役立つ他の文字を含む128文字を含む
ASCII文字セットに慣れているかもしれません。
Javaは、16ビットUnicode標準を介して数千の追加文字をサポートします。
一部の文字リテラルは、キーボードから簡単に表示またはアクセスできない文字を表します。
表3.2に、これらの特殊文字とUnicode文字セットの文字を表すことができる特殊コードを示します。
8進、16進、およびUnicodeエスケープシーケンスは、数値または16進数字(a–fまたはA–F)を表します。
エスケープシーケンス
表記 | 意味 |
---|---|
¥n | 改行 |
¥t | タブ |
¥b | バックスペース |
¥’ | 単一引用符 |
¥” | 二重引用符 |
¥xd | 16進数 |
¥ud | Unicode文字 |
文字列リテラル
Javaプログラムで使用できる最後のリテラルは、文字列を表します。
Javaの文字列は、基本的なデータ型ではなくオブジェクトであり、
文字列はCなどの言語のように配列に格納されません。
文字列オブジェクトはJavaの実際のオブジェクトであるため、
文字列を結合したり、文字列を変更したり、2つの文字列が同じ値であるかどうかを判断したりするための
メソッドを使用できます。
文字列リテラルは、次のステートメントのように、二重引用符で囲まれた
一連の文字で構成されています。
例
1 2 3 4 |
String msg = "本当に終了しますか?"; String pass = "111111"; System.out.println(msg); System.out.println(pass); |
出力結果
本当に終了しますか?
111111
文字列には、以下の例に示すように、先ほどの表示のエスケープコードを含めることができます。
例
1 2 3 4 5 6 7 |
String a = "見知らぬ人が訪ねてきました。, \"東京駅はどちらですか?\""; String b = "太郎君,\n久しぶり"; String c = "おはようございます\u0024"; System.out.println(a); System.out.println(b); System.out.println(c); |
出力結果
見知らぬ人が訪ねてきました。, “東京駅はどちらですか?”
太郎君,
久しぶり
おはようございます$
この最後の例では、Unicode をサポートするように構成されているシステムで、
Unicodeコードシーケンス”\u0024″が$記号を生成します。
文字列リテラルが使用されると、Javaはその値をString オブジェクトとして格納します。
まとめ
種類 | 表記 | 型 |
---|---|---|
小数点がない数字 | 30 | int |
小数点がない数字 | 30 | int |
小数点がない数字で末尾がLかl | 49999L | long |
小数点付きの数字 | 30.5 | bouble |
小数点付きの数字で末尾がFかf | 35.4F | Float |
trueかfalse | true | boolean |
引用符で囲まれた文字 | ‘A’ | char |
二重引用符で囲まれた文字列 | “AAA” | String |
ST
株式会社flyhawkのSTです。フライテックメディア事業部でのメディア運営・ライター業務なども担当。愛機はMac Book AirとThinkPad。好きな言語:swift、JS系(Node.js等)。好きなサーバー:AWS。受託開発やプログラミングスクールの運営をしております。ご気軽にお問い合わせください。