【6日でできるJava入門】特殊なリテラル

 ここでは、Javaプログラムで扱う「特殊なリテラル」について学びます。リテラルとは、プログラム内に直接記述された値のことを指し、通常の数値・文字・文字列だけでなく、型や書き方、特別な記号・表現が存在します。Javaのリテラルには暗黙の型変換、進数表記、エスケープシーケンスなど多くの特徴があり、これらを正しく理解することで柔軟なプログラミングが可能になります。

1.数値・型に関する特殊なリテラル

1.1. 暗黙の型変換と明示的な型指定

書き方解説
int型リテラルそのまま記述でint型として扱われるint n = 100;
暗黙の型変換代入先の型がbyteやshortでも、範囲内なら自動変換されるbyte b = 100;
明示的な型指定long, float, double型でリテラルを使いたい場合、末尾に記号を付加long l = 1234L;
float f = 3.14F;
double d = 2.718D;

注意例:範囲外はエラーになる

byte b = 200; // エラー(byteの範囲は-128〜127)

1.2. 数値リテラルの進数指定

表記意味
10進数普通に記述int n = 15;
8進数先頭に0を付加int n = 012;
16進数先頭に0xを付加int n = 0xA5;

例:さまざまな数値リテラル

int dec = 255;      // 10進数
int oct = 0377;     // 8進数(255)
int hex = 0xFF;     // 16進数(255)

1.3. 計算式と型指定の注意

double d1 = 10 / 3;     // int型同士なので結果は3(小数点切り捨て)
double d2 = 10D / 3D;   // double型同士なので3.333...となる
System.out.println("d1=" + d1 + " d2=" + d2);

実行結果

d1=3.0 d2=3.3333333333333335

2.特殊文字(エスケープシーケンス)

2.1. よく使う特殊文字の一覧

特殊記号意味(機能)
\bバックスペース
\tタブ
\n改行
\fフォームフィード
\r復帰(キャリッジリターン)

2.2. エスケープが必要な記号の表現

表示したい文字書き方説明
'\'シングルクォート
"\"ダブルクォート
\\\バックスラッシュ

例:特殊文字の出力プログラム

ファイル名: lesson06_1.java

public class lesson06_1 {
    public static void main(String[] args) {
        System.out.println("バックスラッシュ: \\");
        System.out.println("シングルクォート: \'");
        System.out.println("ダブルクォート: \"");
        System.out.println("改行:\nここで改行されます。");
        System.out.println("タブ区切り:\tA\tB\tC");
    }
}

実行結果

バックスラッシュ: \
シングルクォート: '
ダブルクォート: "
改行:
ここで改行されます。
タブ区切り:    A    B    C

特殊文字のまとめ

記号ASCIIコード(16進/10進)機能
\b08 / 8バックスペース
\t09 / 9タブ
\n0A / 10改行
\f0C / 12フォームフィード
\r0D / 13キャリッジリターン(復帰)
'27 / 39シングルクォート
"22 / 34ダブルクォート
\5C / 92バックスラッシュ

 このように、Javaではリテラルや特殊文字に独自のルールや書き方があり、場面に応じて正しく使い分けることが大切です。特殊なリテラルを理解して、表現力豊かなプログラムを作成しましょう。