【Java】リテラルとは?リテラルについて分かりやすく解説!

数字の「1」や文字列の「Hello」など、
ソースコードに記載されている値のことをリテラルと言います。
例えば、このような変数を定義したとします。

整数値7を表すので、リテラルは7になります。
ですので数字、文字、文字列はすべてリテラルということになります。
Javaには、数値、文字、文字列、ブール値を表すさまざまな種類のリテラルがあります。

リテラルの一覧

整数リテラル

Javaにはいくつかの整数リテラルがあります。たとえば、数値4はint変数型の整数リテラルです。
intが保持できるよりも大きい整数リテラルは、long型であると自動的に見なされます。
数字に文字L(Lまたはl)を追加することにより、リテラルがlong整数であることを示すこともできます。
たとえば、次のコードは値5をlong整数として扱います。

負の数をリテラルとして表すには、-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変数を設定します。

すべての浮動小数点リテラルは、floatではなくdouble変数型と見なされます。
floatのリテラルを指定するには、次の例のように、文字F(Fまたはf)をリテラルに追加します。

浮動小数点リテラルで指数を使用するには、文字eまたはEの後に指数を続けます。
指数は負の数にすることもできます。次のステートメントでは、指数表記を使用しています。

ブールリテラル

ブール値trueおよびfalseもリテラルです。これらは、ブール変数型に値を割り当てるとき、
または他の方法でステートメントでブール値を使用するときに使用できる値になります。
Cなどの別の言語を使用している場合、値1はtrueと同等であり、
0は falseと同等であると期待するかもしれません 。これはJavaには当てはまりません。
boolean値を表すには、trueまたはfalseの値を使用する必要があります。
次のステートメントは、boolean変数を設定します。

リテラル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つの文字列が同じ値であるかどうかを判断したりするための
メソッドを使用できます。
文字列リテラルは、次のステートメントのように、二重引用符で囲まれた
一連の文字で構成されています。

出力結果

本当に終了しますか?
111111

文字列には、以下の例に示すように、先ほどの表示のエスケープコードを含めることができます。

出力結果

見知らぬ人が訪ねてきました。, “東京駅はどちらですか?”
太郎君,
久しぶり
おはようございます$

この最後の例では、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
Writer

ST

株式会社flyhawkのSTです。フライテックメディア事業部でのメディア運営・ライター業務なども担当。愛機はMac Book AirとThinkPad。好きな言語:swift、JS系(Node.js等)。好きなサーバー:AWS。受託開発やプログラミングスクールの運営をしております。ご気軽にお問い合わせください。

最新の案件情報