Developer

【はじめてのJava】基本データ型(文字型)【データ型と変数編】
2020.10.07
Lv1

【はじめてのJava】基本データ型(文字型)【データ型と変数編】

はじめてのJava

このシリーズでは、初めてJavaやプログラミングを勉強する方向けに、Javaによるプログラミングの基礎を説明していきます。
目標レベルは、Javaの資格試験の一つである「Oracle Certified Java Programmer, Silver」(通称Java Silver)に合格できる程度の知識の習得です。
はじめてJavaやプログラムに触れる方にもできるだけわかりやすい解説を心がけていきます。


基本データ型(文字型)

プログラムの中で「変数」と一緒に出てきた「データ型」について詳しく解説していきます。

基本データ型編では、Javaで扱われるデータ型の中でも「基本データ型」と呼ばれる種類のデータ型について扱っていきます。
この記事では、「文字」を表す「char型」について扱っていきます。

目次


基本データ型のおさらい

プログラムの中で、「変数」を扱う際などに「データ型」というものを使ってそのデータの種類を表していました。
Javaでは、データ型には大きく分けて基本データ型(プリミティブ型)オブジェクト参照型(リファレンス型)の2種類があります。

基本データ型とは、プログラムの中で扱われるデータのうち、数字や文字などの、最も基本的なデータの種類を扱うことが出来るデータ型です。
Javaの基本データ型には「byte型」「short型」「int型」「long型」「float型」「double型」「char型」「boolean型」の8種類のデータ型が用意されています。

それぞれのデータ型の詳細はこちらの記事の表にまとめてあります。


文字型

今回は、文字を表すデータ型について扱っていきます。
Javaでは、1文字の文字データを扱うデータ型として「char型」が用意されています。

文字型と文字列型

Javaで文字型と言えばchar型のことです。char型は「1文字のデータ」を表すデータ型です。0文字でも2文字以上でもchar型のデータとしては扱えません。
任意の文字数(0文字以上)の文字のまとまりを表す場合は「String型」と呼ばれる「文字列型」を使う必要があります。
※String型は基本データ型ではなくオブジェクト参照型ですので詳しくは別の記事で解説します。

「文字型」と「文字列型」では、データ型が異なるので、ソースコード内で文字や文字列を扱う場合には注意が必要です。

(例)
「あ(1文字だけ)」→「char型」「String型」どちらでも表現可能
「こんにちは(5文字のまとまり)」→「String型」で表現可能(どうしてもchar型で表現したい場合はchar型の配列を利用するが、詳細は割愛)

char ch1 = 'あ'; //OK
//char ch2 = 'こんにちは'; //NG
String str1 = "あ"; //OK
String str2 = "こんにちは"; //OK

char型

char型は、Unicodeという文字コード規格で定められている1文字を表したデータ型です。
格納できる範囲:Unicode規格の1文字(\u0000~\uFFFF)

Unicode

コンピュータは2進数(0と1だけで成り立った世界)でものを考えます。その場合、数字は扱えますが、文字を直接扱うことができません。そこでコンピュータ内部では文字に番号を割り当てて文字の管理を行うのが一般的な方法です。どの文字に何番の文字を割り当てるのかは、採用している文字の管理方法によって異なります。

Unicodeというのは、世界中の文字や記号などに決められた番号を割り当てて管理している集合体です。
char型は、「0~65535(16ビット)」の範囲の数字を格納して、Unicodeで管理された番号に対応する1文字を表します。
(例)文字の「あ」→Unicodeの「12354」

char型は文字を表すデータ型ではありますが、その実体は文字の番号を表す数字が入っています。データを格納するときには、文字をそのまま入れることもできますし、その文字を表す数字を格納することも可能です。
具体的には以下の3通りの方法があります。

  1. 「1文字をそのまま」変数に格納する

    文字をそのまま格納する場合、文字を「‘(シングルクォート)」で囲みます。
    (例)

    char c1 = 'あ';
  2. 「2進数や10進数、16進数の数字」を変数に格納する

    0~65535の数字を格納すると、表示するときにはその数値に対応した1文字が表示されます。
    (例)

    char c2 = 12354;
    System.out.println(c2);

     →「あ」が表示される。

  3. 「Unicodeのコードポイント(Unicodeでの文字の指定の方法)」を変数に格納する

    Unicodeのコードポイントは「¥u○○(○○は文字を指定するための16進数)」のように表記します。
    (「¥」と「\」は表記は違いますが、意味は同じです。)
    (例)

    char c3 = '\u3042';
    	 System.out.println(c3);

     →「あ」が表示される。


まとめ

文字を扱いたい場合は基本データ型のchar型を扱います。char型は1文字しかデータを保持できません。文字列(任意の文字数の文字)をまとめて扱いたい場合はString型を利用します。


データ型と変数編・次回の内容

今回は基本データ型の中でも「文字型」について扱いました。基本データ型編・次回は基本データ型の中の「真偽値型」の説明を行います。


はじめてのJavaシリーズの目次はこちら
データ型と変数編の記事一覧はこちら


java 11 の練習問題一覧はこちら
はじめてのJavaシリーズの練習問題一覧はこちら