【Java】char型の基本と文字コードをやさしく解説|初心者がつまずくポイントを実務目線で整理

Java入門・実践
スポンサーリンク
スポンサーリンク

はじめに

Java の基本文法の中でも、
「char 型」 はちょっと不思議な存在です。

  • 文字を扱う型なのに数値として扱える
  • 'A' が 65 になる
  • Unicode という言葉が出てくる

最初は「なんでそうなるの?」と戸惑いがちです。

この記事では、やさしく・実務寄りに
char 型の仕組みと文字コードの基本を整理していきます。


まずはコードを確認

Java
char c = 'A';
System.out.println(c);      // A
System.out.println((int)c); // 65

char japanese = 'あ';
System.out.println((int)japanese); // 12354(Unicode)

char next = (char) (c + 1);
System.out.println(next);   // B

コードのしくみを解説

char は「1文字を表す数値」

Java の char
「1文字を表すための数値」 です。

Java
char c = 'A';

この 'A' は内部的には 65 という数値として扱われます。

イメージ:

  • “文字”というより“文字コード番号”を入れている
  • 見た目は文字だけど、中身は数値

Java の char は Unicode(UTF-16)

Java の char は Unicode(UTF-16) を使っています。

  • 'A' → 65
  • 'あ' → 12354
  • '漢' → 28450

ASCII よりも広い範囲を扱えるため、 日本語や記号も char で扱えます。

char は数値として計算できる

Java
char c = 'A';
char next = (char) (c + 1);
System.out.println(next); // B

'A' は 65 なので、
65 + 1 → 66 → 'B' になります。

char → int は暗黙の型変換

Java
char c = 'A';
int code = c; // OK

char は数値なので、
int にそのまま入ります。


あわせて知っておきたいポイント

char は 2バイト(16ビット)

Java の char は 2バイト固定です。

  • 0〜65535 の範囲
  • Unicode の一部を表現できる

ただし、絵文字など一部の文字は
サロゲートペア という仕組みが必要で、
char 1つでは表せません。

文字列(String)とは別物

Java
char c = 'A';     // 1文字
String s = "A";   // 文字列(複数文字)
  • char → 1文字
  • String → 文字列(0文字〜無限)

実務では String を使うことが多く、
char は「1文字だけ扱いたいとき」に使われます。

char の比較は数値比較

Java
System.out.println('A' < 'B'); // true

内部的には 65 < 66 の比較です。


使うときに気をつけたいこと

  • char は“文字”ではなく“文字コード番号”として扱われる
  • 日本語も Unicode の番号として扱われる
  • char の計算は数値計算になる
  • String と char は別物
  • 絵文字など一部の文字は char 1つでは扱えない

実務では、 「char は数値として扱える」という理解があると バグを避けやすくなります。


まとめ

char 型の基本

  • 1文字を表す数値(Unicode)
  • 'A' は 65、'あ' は 12354
  • 数値として計算できる

注意点

  • String とは別物
  • 絵文字は char 1つでは扱えない
  • 比較は数値比較になる

decopon
decopon

char 型は、最初は「文字を扱う型」と思いがちですが、 実は「文字コード番号を扱う型」と理解すると 一気にスッキリします。
Java Bronze の試験でも、 実務のデバッグでも役に立つ知識です。
あなたの学びが、次のステップにつながりますように。

moco
moco

‘A’ が 65 って、ちょっと不思議だよね。
でも“文字は番号で管理されてる”って知ると、世界が広がるよ。

コメント

タイトルとURLをコピーしました