Java | 「文字リテラル」と「文字コード」

Java Java
スポンサーリンク

1. 「文字リテラル」ってなに?

意味

「文字リテラル」とは、1文字だけを表す値のことです。

Javaでは「1文字」を表すときに、シングルクォーテーション ' ' で囲みます。

例:

char moji1 = 'A';
char moji2 = 'あ';
Java

👆 このように書くと、
moji1 には「A」という1文字が、
moji2 には「“あ”」という1文字が入ります。


注意ポイント

  • 'A' ← OK(1文字)
  • 'AB' ← ❌ エラー(2文字はダメ)
  • '' ← ❌ エラー(空っぽもダメ)

出力してみよう

public class Sample1 {
    public static void main(String[] args) {
        System.out.println('A');  // 出力:A
        System.out.println('あ');  // 出力:あ
    }
}
Java

🧠 ポイント:
System.out.println() は、かっこの中身を画面に出す命令です。
なので 'A' と書けば A が表示されます。


2. 文字は中身が「数字」でできている?

実はコンピュータの中では、「文字」も「数値」として扱われています。
これを 文字コード(Character Code) といいます。

例えば:

文字数値(10進数)16進数(よく使う)
'A'650x0041
'a'970x0061
'あ'123540x3042

つまり…

'A' は見た目は文字だけど、
中身は「65」という数字がコンピュータの中に入っているんです!


3. 数字で文字を表す方法

その1:16進数(0xから始まる)

char c1 = 0x0061;  // 'a' と同じ意味
System.out.println(c1);  // 出力:a
Java

その2:10進数(そのまま数字)

char c2 = 97;  // 'a' のコードは97
System.out.println(c2);  // 出力:a
Java

注意!数字のまま出すと文字じゃなくなる

System.out.println(0x0061);
Java

👆 これは 'a' の文字コードですが、
文字としてではなく「数値97」として出力されます。

出力結果:

97

4. 「\uXXXX」形式でも書ける!

Javaでは「Unicode(ユニコード)」という世界共通の文字コードを使っています。
それを \uXXXX という形で表現できます。


例:

public class Sample2 {
    public static void main(String[] args) {
        System.out.println('\u0061');  // 出力:a
        System.out.println('\u3042');  // 出力:あ
    }
}
Java
  • \u0061'a'
  • \u3042'あ'

まとめ(ここまでの要点)

内容書き方出力補足
文字を直接書く'A'Aシングルクォートで囲む
文字コード(16進)で書く0x0041A16進数。0xで始まる
Unicodeで書く'\u0041'A世界共通のコード
数字として出すSystem.out.println(65);65文字ではなく数値

5. 練習問題

問題1

次のプログラムを実行すると、何が表示されるでしょう?

public class Sample3 {
    public static void main(String[] args) {
        System.out.println('C');
        System.out.println(67);
        System.out.println('\u0043');
    }
}
Java

💭 考えてみよう!


✅ 答え

C
67
C

💬 解説:

  • 'C' はそのまま文字C
  • 67 は数値そのもの
  • '\u0043' は「C」のUnicode表記

問題2

次の2つの出力の違いを説明しよう。

System.out.println('a');
System.out.println(0x0061);
Java

💡 ヒント:どっちが「文字」でどっちが「数字」?

✅ 答え
1行目は 'a' という文字を出力(結果:a)
2行目は 0x0061 という数値を出力(結果:97)


6. まとめポイント(初心者向け)

覚えておこう!説明
'A' のように書く文字リテラル(1文字)
"A" のように書く文字列リテラル(複数文字OK)
文字は実は数字でできているコンピュータの中では数値として扱われる
'\uXXXX'Unicode形式で文字を書く特別な書き方
出力時に数値が出たら?' '(シングルクォート)を忘れていないか確認!
Java
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました