Javaのデータ型【String】と【Char】とは?その違いは何?【39回】

「Java入門」講座にご興味ある方はこちら。次回は9/11(月)12(火)開催です。

Javaのデータ型【String】と【Char】とは?その違いは何?
ビジネスパーソンのためのプログラミング講座【第39回】


 

Javaでは、値を扱う変数にそれぞれデータ型が指定されています。
データ型は、扱うデータの特性に合わせて指定する必要があります。
その中で、文字を扱うString型とChar型の特徴をみていきます。

■変数のデータ型とは?
データ型には、数値を扱うもの、String、Charなど文字を扱うもの、そして、変わったところでは、「真(true)か偽(false)か」を扱うboolean型があります。
扱う値の特性に合わせて、適切なデータ型を指定する必要があります。
たとえば、数値を扱うint型の変数に「325」という値を入れると、これは数値なので計算に用いることができますが、文字を扱うString型に同じ値を入れると、文字として扱われてしまうので計算に用いることができません。
数値を扱うものでも、整数を扱うか、少数を扱えるか、数値の大きさなどによって、適正なデータ型が変わってきます。
たとえば、整数を扱うint型で少数を扱おうとすると、少数点以下が切り捨てられてしまい、思わぬ計算ミスが発生してしまいます。
Javaでは、異なるデータ型同士の計算も可能です。
この場合、原則として大きな数を扱える変数に合わせて計算を行います。
計算結果を代入する変数に合わせるのではない点に注意が必要です。
また、データ型によってメモリを占有する領域が異なるので、大きな数値を扱うデータ型で一桁の数値を扱うのはメモリ領域の無駄遣いになります。

■文字を扱う変数「String」と「Char」
String型とChar型は、どちらも文字を扱うデータ型です。
Char型は1変数で1文字を扱います。
次のように’’(シングルクォーテーション)で囲って文字を代入します。
Char a = ‘あ’;
Char型で2文字以上の文字列を扱う際は、次のように配列を用いることになります。
Char a[0] = ’あ’;
Char a[1] = ’い’;
Char a[2] = ’う’;
Char a[3] = ’え’;

一方、String型は1変数で2文字以上の文字列を扱うことができます。
Char型と異なり、次のように””(ダブルクォーテーション)で囲って文字を代入します。
String b = “あいうえ”;
厳密にいえば、String型はjava.langというパッケージで定義されたクラスです。
(java.langのパッケージ宣言は不要です。)
そのため、さまざまな文字列を操作するメソッドを利用することもできます。
ひとつ注意しなければならないのは、String型の変数同士を比較する条件式を書くときは、「a == b」ではなく、「a.equale(b)」のように記述しないと正しく比較することができません。
これは、Char型と違いString型が参照型の変数であるためです。

■String型とChar型の使い分け
String型の方が、Char型よりも簡単で便利です。
ただし、厳密にはString型クラスを拡張したオブジェクトになりますので、単なる文字列以上にメモリを占有することになります。
したがって、複雑な操作を行わない単なる文字や簡単な文字列を扱う場合には、Char型を用いた方がよいでしょう。

☆おすすめ講座☆
Java講座の詳細はこちら

  >プログラミング豆知識 記事一覧へ

投稿日: 2017年5月17日

前後の記事

気になることは何でもお気軽にお問合せください。

0120-188-024 受付時間 平日9:00~19:00