Java リテラル完全ガイド：コードで学ぶ2024年のサンプル解説

Javaのリテラルは、プログラムの基本となる要素です。この記事では、サンプルコードを通じて、リテラルの使い方や特徴を丁寧に解説します。2024年をテーマにした具体例を用いて、Javaの基本的なリテラルについて学んでいきましょう。

---

## サンプルコードの概要

この記事で使用するサンプルコードは以下のとおりです。

```java
public class Person {
    public static void main(String[] args) {
        // 1. 文字リテラルと文字コード
        char yearStart = '2'; // 文字リテラル
        char yearEnd = '4';
        System.out.println("2024年の始まりは: " + yearStart);
        System.out.println("2024年の終わりは: " + yearEnd);
        System.out.println("文字コード: '2'は " + (int) yearStart);

        // 2. 文字列リテラル
        String yearString = "2024年";
        System.out.println("今年は " + yearString + " です。");

        // 3. エスケープシーケンスを使った特殊な文字
        System.out.println("2024年の祝日リスト:\n\t1月1日: 元日\n\t12月25日: クリスマス");
        System.out.println("ファイルパス例: C:\\2024\\calendar.txt");

        // 4. 整数リテラル
        int year = 2024;
        System.out.println("西暦: " + year);

        // 5. 浮動小数点数リテラル
        double pi = 3.14159; // 通常のリテラル
        float discountRate = 2.5f; // サフィックスを付けてfloat型
        System.out.println("2024年の割引率: " + discountRate + "%");
        System.out.println("円周率 (参考値): " + pi);

        // 6. 数値リテラルにサフィックスを付けて型を指定
        long population = 7800000000L; // long型
        System.out.println("2024年の世界人口 (推定): " + population + "人");

        // 7. 数値リテラルに桁区切り文字
        int japanPopulation = 125_800_000; // 桁区切りで可読性向上
        System.out.println("2024年の日本の人口: " + japanPopulation + "人");

        // 8. 論理値リテラル
        boolean isLeapYear = true; // 2024年はうるう年
        System.out.println("2024年はうるう年か？: " + isLeapYear);
    }
}
```

---

## 詳細解説

### **1. 文字リテラルと文字コード**
`char` 型は単一の文字を扱います。このコードでは、2024年を構成する文字 `'2'` と `'4'` を使用しています。また、文字の **Unicodeコードポイント** を `(int)` で取得可能です。

```java
char yearStart = '2';
System.out.println("文字コード: '2'は " + (int) yearStart);
```

**出力結果**:
```
文字コード: '2'は 50
```

---

### **2. 文字列リテラル**
`String` 型は文字の集まり（文字列）を表現します。このコードでは「2024年」という文字列を扱っています。

```java
String yearString = "2024年";
System.out.println("今年は " + yearString + " です。");
```

**出力結果**:
```
今年は 2024年 です。
```

---

### **3. エスケープシーケンス**
エスケープシーケンスを使用すると、特殊文字を表現できます。

- `\n` : 改行
- `\t` : タブ
- `\\` : バックスラッシュ

```java
System.out.println("2024年の祝日リスト:\n\t1月1日: 元日\n\t12月25日: クリスマス");
System.out.println("ファイルパス例: C:\\2024\\calendar.txt");
```

**出力結果**:
```
2024年の祝日リスト:
	1月1日: 元日
	12月25日: クリスマス
ファイルパス例: C:\2024\calendar.txt
```

---

### **4. 整数リテラル**
整数リテラルは`int`型の数値として記述します。例では西暦を整数で表現しています。

```java
int year = 2024;
System.out.println("西暦: " + year);
```

**出力結果**:
```
西暦: 2024
```

---

### **5. 浮動小数点数リテラル**
小数点を含む数値は、`double`（デフォルト）または `float` 型で表現します。`float` 型にはサフィックスとして `f` が必要です。

```java
double pi = 3.14159;
float discountRate = 2.5f;
System.out.println("円周率: " + pi);
System.out.println("割引率: " + discountRate + "%");
```

**出力結果**:
```
円周率: 3.14159
割引率: 2.5%
```

---

### **6. 数値リテラルにサフィックスを付けて型を指定**
`long` 型などの特定の数値型を明示するためにサフィックスを付けます。

```java
long population = 7800000000L;
System.out.println("世界人口: " + population);
```

**出力結果**:
```
世界人口: 7800000000
```

---

### **7. 数値リテラルに桁区切り文字**
桁区切り文字 `_` を使用すると、大きな数値を読みやすく記述できます。

```java
int japanPopulation = 125_800_000;
System.out.println("日本人口: " + japanPopulation);
```

**出力結果**:
```
日本人口: 125800000
```

---

### **8. 論理値リテラル**
論理値リテラルは `true` または `false` のいずれかです。ここでは、2024年がうるう年であるかを示しています。

```java
boolean isLeapYear = true;
System.out.println("2024年はうるう年か？: " + isLeapYear);
```

**出力結果**:
```
2024年はうるう年か？: true
```

---

## まとめ

このコードを通じて学べること:
- Javaのリテラルの種類（文字、文字列、数値、論理値など）
- エスケープシーケンスや桁区切り文字の実用例
- 型を明示するサフィックスの使い方

リテラルは、Javaの基本構造を支える重要な要素です。2024年をテーマにしたサンプルコードを活用し、実際に動かしながら理解を深めてください。