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

Java Java
スポンサーリンク

主な内容の要点

1. 文字リテラルとは

  • 1文字だけを表す値のこと
  • 'a''あ' のように シングルクォーテーション ' ' で囲んで書く
  • 2文字以上(例: 'ab')や空文字('')はエラーになる
  • 文字リテラルは char型 の変数に代入できる
System.out.println('a');   // a と表示
char c = '花';             // 変数cに「花」を代入
Java

2. 文字コードとは

  • コンピュータは文字をそのまま扱えないので、数値に対応付けて管理している
  • この数値が「文字コード」
  • 文字コードの規格には ASCII, Shift_JIS, Unicode などがある
  • Javaは Unicode (UTF-16) を採用している

例:

  • 'a' → コードは 0x0061
  • 'あ' → コードは 0x3042

3. 文字コードを使った表現

  • 文字リテラルの代わりに、文字コードを直接指定しても同じ文字を表せる
char c1 = 'a';
char c2 = 0x0061;   // 16進数で指定
char c3 = 97;       // 10進数でもOK
Java
  • ただし System.out.println(0x0061); のように直接出力すると、文字ではなく数値(97)が表示される

4. エスケープシーケンスでの表現

  • '\uXXXX' の形で、Unicodeのコードを16進数で指定できる
System.out.println('\u0061'); // a と表示
Java

初心者へのポイント

  • 文字リテラルは必ず ' ' で囲む(ダブルクォーテーションは文字列用)
  • 1文字だけであることに注意
  • Javaは Unicode対応なので、日本語も扱える
  • 文字コードを知っておくと、文字と数値の関係が理解できて便利

👉 まとめると、「Javaでは文字は数値(文字コード)と対応していて、'a' と書いても 0x0061 と書いても同じ意味になる」ということです。


初心者向け “覚えておくと良いこと”

  • 文字を1つだけ扱いたいなら シングルクォーテーション(’) を使って書く。
  • 文字が複数あるなら、それは「文字列リテラル(String型)」という別の扱いになる(このページでは扱ってませんが、今後覚えると良いです)。
  • 文字コードというのは “文字を数値で表す”仕組み。普段はあまり意識しなくても動きますが、特殊な文字を扱うときやエンコーディングを考えるときに出てきます。
  • '\uXXXX' の形式は “直接文字コードを使って文字を書く”ときに使える技術。特に “画面に出す” ような場面で数値だけ出てしまわないよう注意。
  • 日本語や海外の文字、特殊な記号などを扱う際は、文字コードやエンコーディング(文字の数値化のルール)を意識すると後で困りにくい。
Java
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました