【Javaの基礎】Javaの変数(文字型)

 

こんにちは、現役SEの「とも」です。

今回は、「文字型」について書いていきたいと思います。

 

【文字型】

Javaの基本データ型としての文字型は、以下のように1文字だけを扱うchar型だけになります。

 

必要なメモリサイズ 説明
char 2バイト(16ビット) 1文字を表現する型

 

通常はchar型単体で使用する局面は少なく、文字を扱う場合は「文字列を扱えるString型」を使用します。

とは言っても、たまには使用するケースもあります。

 

String型は、別の記事で書きますので、今回はchar型について説明します。

 

char型が保持する文字は、Unicodeという文字コードで格納されることになります。

文字コードというのは、「データと表現する文字の対応」を規格化したもので、いろいろな種類の文字コードがあります。

 

代表的な例でいうと、Shift_JIS(シフトJIS)やUTF-8などあります。

例として「ひらがなの”あ”」という文字は、それぞれの文字コードでどう表現するかというと、

  • Shift_JIS → 0x82A0
  • UTF-8 → 0xe38182
  • Unicode → \u3042

となります。

 

「あ」を表現するために、数値の解釈のしかたを定めたルールが文字コードなんですね。

 

文字化けが起こるのは、例えば、

  • Shift_JISで保存した「あ」のデータを、「UTF-8」で読み込もうとしたら、UTF-8の「0x82A0」は「あ」にならず、別の表現になってしまうからなんです。

 

少し脱線しましたが、Javaのchar型に「あ」を設定すると、Unicode形式でデータが格納されると考えてください。

 

文字コードは複雑で奥が深いので深入りはしませんが、とりあえずは

  • javaのchar型はUnicode形式でデータが格納される
  • 1文字しか格納できない

とだけ覚えておけばchar型を取り扱う上で特に不都合はないと思います。