サイトアイコン プログラマー(PG)・システムエンジニア(SE)になるための入門講座

【Java初心者向け】文字列と文字の違いとは?Stringとcharの使い分けをわかりやすく解説

【Java初心者向け】文字列と文字の違いとは?Stringとcharの使い分けをわかりやすく解説

結論として、文字(char)は「1文字だけ」を扱うデータ型、文字列(String)は「複数の文字の集まり」を扱うデータ型です。

Javaを学び始めると、「String」と「char」の違いが分からなくなることがあります。どちらも文字を扱いますが、用途や使い方は大きく異なります。

この記事では、IT業務に従事する初心者向けに、文字列と文字の違い、実務での使い分け、よくあるミスまで分かりやすく解説します。

文字(char)とは

文字(char)は、1文字だけを表すデータ型です。

例えば、次のような文字を扱えます。

内容
‘A’ アルファベット1文字
‘1’ 数字1文字
‘あ’ ひらがな1文字
‘#’ 記号1文字

charは必ずシングルクォーテーション(’ ‘)で囲みます。

文字列(String)とは

文字列(String)は、複数の文字を並べたデータです。

もちろん、1文字だけの文字列も作成できます。

内容
“A” 1文字の文字列
“Java” 4文字の文字列
“Hello World” 複数の文字列
“” 空文字列

Stringはダブルクォーテーション(” “)で囲みます。

文字列と文字の違い

比較項目 char(文字) String(文字列)
扱える文字数 1文字だけ 1文字以上
囲み方 ‘ ‘ ” “
種類 プリミティブ型 クラス
長さ取得 不要 length()を使用
主な用途 1文字の判定 名前や文章の管理

どんな場面で使われるのか

charが向いている場面

Stringが向いている場面

業務システムでは、ほとんどの場合Stringを使用します。

なぜ重要なのか

charとStringを正しく使い分けることで、コンパイルエラーや想定外の動作を防ぐことができます。

例えば、1文字だけを比較したい場面でStringを使用すると、不要な処理が増えることがあります。一方、氏名や住所など複数文字のデータはStringで管理する必要があります。

初心者が混乱しやすいポイント

1文字でもStringにできる

「A」はStringです。

一方、「’A’」はcharです。

記述
‘A’ char
“A” String

見た目は似ていますが、まったく別のデータ型です。

charは文字列ではない

charは1文字だけを表すプリミティブ型です。

Stringは文字の集まりを管理するクラスであり、扱い方が異なります。

実際のIT現場での利用例

業務 使用する型 理由
社員名 String 複数文字だから
商品名 String 複数文字だから
性別コード(M/F) char 1文字で管理するため
CSV解析 char 区切り文字を判定するため
ログ出力 String 文章を扱うため

筆者が実際に経験した失敗例

新人時代、CSVファイルの区切り文字をStringで比較していたため、コードが複雑になったことがありました。

区切り文字は1文字しか扱わないため、charを利用したところ、コードがシンプルになり、読みやすさも向上しました。

業務でよくあるトラブル例

原因の切り分け

確認項目 確認内容
データ型 charかStringか確認する
文字数 1文字か複数文字か確認する
囲み方 シングルクォーテーションかダブルクォーテーションか確認する
比較方法 Stringはequals()を使用しているか確認する

GUIで確認できる内容

変数の型と値を確認すると、charとStringの違いを把握しやすくなります。

CUI(コマンド)で確認できる内容

Javaアプリケーションでは、ログ出力やデバッグ実行を利用して変数の内容を確認できます。

ビルドやテストでは次のようなコマンドを利用することが一般的です。

確認結果の見方

初心者がやりがちなミス

注意点

上司へ報告するポイント

エスカレーションするタイミング

応用知識

項目 char String
データ型 プリミティブ型 クラス
メソッド利用 ほとんどなし substring()、replace()、trim()など多数
文字数取得 不要 length()

関連するIT用語

よくある質問(FAQ)

1文字でもStringを使えますか?

はい。1文字だけの文字列として扱うことができます。ただし、1文字しか扱わないことが明確な場合はcharを使用することもあります。

charに「AB」は入りますか?

いいえ。charは1文字だけしか格納できません。

Stringとcharは自動で変換されますか?

一部の場面では変換されることもありますが、基本的には異なる型として扱われます。

業務ではどちらを使うことが多いですか?

氏名や住所、商品名、メッセージなど複数文字を扱うことが多いため、実務ではStringを使用する場面が圧倒的に多く、charは1文字だけを扱う特殊なケースで利用されます。

まとめ

文字(char)と文字列(String)は、どちらも文字を扱いますが、役割が異なります。

実務では、「1文字だけ扱うのか、それとも文字列全体を扱うのか」を意識してデータ型を選ぶことが重要です。この違いを理解しておくことで、型エラーを防ぎ、読みやすく保守しやすいプログラムを書けるようになります。

モバイルバージョンを終了