こんにちは、現役SEの「とも」です。
今回は、変数の初期化や条件分岐でよく使われるリテラルについてです。
リテラルとは、ソースコード中に記載する文字列や数値といった値そのものです。
リテラルの種類としては以下があります。
- 整数
- 浮動小数点
- 文字
- 文字列
- 真偽値
整数リテラル
整数のリテラルは、以下のように書き方によってJavaが解釈するデータ型が異なります。
- 「1」の記載の場合は、int型として解釈されます。
- 「1Lまたは1l(小文字のL)」の記載の場合は、long型として解釈されます。
ソースで記載すると、以下のようになります。
大きな桁数で見やすくする場合
整数リテラルの場合、大きい数値を表す時に桁数が分かりにくくなるので、桁数を見やすくしたい場合があります。
その場合、以下のように、「_」を使った記載ができます。
- 実際に変数に格納される際は「_」部分は除外して代入されますので、見た目以外の影響はありません。
2進数、8進数、16進数での表現
整数リテラルでは、10進数以外でも2進数、8進数、16進数で表現することができます。
- 2進数は、先頭に「0b」を付けた後に、2進数の数値表現を記載します。
- 8進数は、先頭に「0」を付けた後に、8進数の数値表現を記載します。
- 16進数は、先頭に「0x」を付けた後に、16進数の数値表現を記載します。
ソースで記載すると、以下のようになります。
浮動小数点リテラル
浮動小数点のリテラルは、以下のように書き方によってJavaが解釈するデータ型が異なります。
- 「1.0」の記載の場合は、double型として解釈されます。
- 「1.0Fまたは1.0f」の記載の場合は、float型として解釈されます。
ソースで記載すると、以下のようになります。
浮動小数点型リテラルでも「_」の表記で見やすくできます。
文字リテラルと文字列リテラル
文字のリテラルは、以下のようにシングルクォーテーション(’)で囲って表現することで1文字のchar型として解釈されます。
文字列のリテラルは、以下のようにダブルクォーテーション(”)で囲って表現することで文字列として解釈されます。
エスケープシーケンス
改行やタブなどの文字として現れないものや、Javaが特殊な解釈をする予約文字を表現する表記を、「エスケープシーケンス」と言います。
良く使うエスケープシーケンスには、以下のようなものがあります。
エスケープシーケンス | 表現する文字 |
---|---|
\t | タブ |
\r | CR:キャリッジリターン(改行と組み合わせて使う「例:\r\n」) |
\n | 改行 |
\\ | 「\」を文字として表示 |
\” | 「”」を文字として表示 |
\’ | 「’」を文字として表示 |
エスケープシーケンスは2文字を入力することになりますが、実際には文字コードに変換されて1文字の扱いになるため、char型にも設定できます。
文字コードでの設定
ほぼ使うことはないと思いますが、文字リテラルや文字列リテラルでは、文字コードでの設定をすることもできます。
真偽値リテラル
真偽値のリテラルは、boolean型のリテラルの記載方法です。
以下のようにダブルクォーテーションで囲まない「true」または「false」の文字で記載します。
以上が、リテラルの説明でした。