
Java道|Java文字列リテラルの基本
1文字と文字列は、見た目が似ていてもJavaでは別の型。
囲み方の違いを見分けて、文字列リテラルの基本をすっきり整理しよう。
Javaで文字を扱う学習を進めていくと、1文字を表す書き方 と、複数の文字が並んだ言葉や文章を表す書き方 は、きちんと区別されていることが分かってきます。
たとえば、A という1文字と、Hello という文字の並びは、どちらも画面に表示できます。
しかし、Javaの中では同じものとして扱われません。
A のような1文字を表す場合と、Hello のような文字の並びを表す場合では、書き方も意味も変わります。
この違いを理解するうえで大切なのが 文字列リテラル です。
文字列リテラルとは、文字の並びをそのまま値として表すための書き方です。
Javaでは、文字列を " " で囲んで記述します。これに対して、1文字を表す文字リテラルは ' ' で囲みます。見た目は少し似ていますが、Javaでははっきり別のものとして扱われます。
鬼滅の刃の世界観にたとえるなら、文字リテラルは 1枚の小さな技札、文字列リテラルは 複数の技札をまとめた巻物 のようなものです。
| Javaの書き方 | 意味 | 鬼滅風のたとえ |
|---|---|---|
| 'A' | 1文字 | 1枚の技札 |
| "A" | 1文字だけの文字列 | 1文字だけを書いた巻物 |
| "Hello" | 複数文字の文字列 | 複数の文字をまとめた巻物 |
| 123 | 数値 | 数値の力札 |
| "123" | 数字の並びの文字列 | 数字に見える文字を書いた巻物 |
この違いを早い段階で押さえておくと、Javaのコードを読むときに、これは1文字なのか、それとも文字の並びなのかを判断しやすくなります。
また、画面出力のコードや、これから学ぶ変数、比較、文字列操作などの理解にもつながっていきます。
文字列リテラルとは何か
文字列リテラルとは、文字の並びを表すための書き方 です。
たとえば、次のようなものが文字列リテラルです。
"Hello"
"Goodbye"
"こんにちは"これらはすべて、文字がひとまとまりになった値です。
Javaでは、このような文字の並びを 文字列 と呼びます。
| 文字列リテラル | 中に入っている文字 |
|---|---|
| "Hello" | H、e、l、l、o |
| "Goodbye" | G、o、o、d、b、y、e |
| "こんにちは" | こ、ん、に、ち、は |
ここで大切なのは、文字列リテラルは単なる見た目の文章ではなく、Javaの中では 文字列という値 として扱われることです。
鬼滅風にたとえるなら、文字列リテラルは、いくつもの文字札をまとめて巻物にしたものです。
たとえば、"Hello" という文字列リテラルは、H、e、l、l、o という文字札が順番に並んだ巻物です。
Javaは、その巻物全体を1つの文字列として扱います。
Javaでは文字列を " " で囲む
Javaでは、文字列リテラルは ダブルクォーテーション " " で囲んで書きます。
たとえば、次のような形です。
"こんにちは"
"Javaを学んでいます"
"おはようございます"このように、ダブルクォーテーションで囲まれた部分が、Javaでは文字列として扱われます。
| 書き方 | Javaでの扱い |
|---|---|
| "Hello" | 文字列 |
| "こんにちは" | 文字列 |
| "123" | 数字の並びだが文字列 |
| Hello | 文字列ではない |
| 123 | 数値 |
| 'A' | 文字 |
Javaは " を見て、ここからここまでが文字列ですよ と判断します。
そのため、文字列を書きたいときは、必ず " " で囲む必要があります。
鬼滅風に言えば、" " は巻物の表紙と裏表紙のようなものです。
Javaは、最初の " を見て「ここから文字列の巻物が始まる」と判断し、次の " を見て「ここで文字列の巻物が終わる」と判断します。
文字列と文字は別のもの
Javaでは、文字 と 文字列 は別のものとして扱われます。
次の2つを見てみましょう。
'A'
"A"見た目はとても似ています。
どちらも A を表しているように見えます。
しかし、Javaでは意味が違います。
| 書き方 | 種類 | 意味 |
|---|---|---|
| 'A' | 文字リテラル | 1つの文字 |
| "A" | 文字列リテラル | 1文字だけの文字列 |
ここで大切なのは、"A" は1文字に見えても文字列 だということです。
Javaでは、中に入っている文字数だけで決まるのではありません。
囲んでいる記号によって、扱いが変わります。
| 囲む記号 | Javaでの扱い |
|---|---|
| ' ' | 文字 |
| " " | 文字列 |
鬼滅風にたとえるなら、'A' はAという1枚の技札です。
一方、"A" はAという1文字だけを入れた小さな巻物です。
中身が同じAでも、札なのか巻物なのかで扱いが変わります。
文字列は複数の文字の並びを表す
文字列リテラルは、文字が連なったものを表します。
たとえば、次のようなものはすべて文字列です。
"Java"
"Good morning"
"今日は晴れです"これらは、英字、日本語、空白などが並んだものです。
| 文字列リテラル | 内容 |
|---|---|
| "Java" | 英字の並び |
| "Good morning" | 英字と空白の並び |
| "今日は晴れです" | 日本語の文字の並び |
| "Java入門 2026" | 英字、日本語、空白、数字の並び |
ただし、文字列は必ずしも長い文章である必要はありません。
次のようなものも文字列です。
"A"
"1"
"あ"つまり、文字列とは 複数文字っぽく見えるもの ではなく、" " で囲まれた文字の並び です。
| 書き方 | 文字数 | Javaでの扱い |
|---|---|---|
| "A" | 1文字 | 文字列 |
| "1" | 1文字 | 文字列 |
| "あ" | 1文字 | 文字列 |
| "Java" | 4文字 | 文字列 |
鬼滅風に言えば、巻物に1文字だけ書かれていても、それは巻物です。
たくさんの文字が書かれていても、1文字だけでも、" " で囲まれていればJavaでは文字列として扱われます。
数字が書かれていても " " で囲めば文字列になる
文字列リテラルでは、中に数字が入っていても、それは数値ではなく文字列になります。
たとえば、次の3つは見た目が似ています。
123
"123"
'1'しかし、Javaでの扱いは違います。
| 書き方 | Javaでの扱い | 意味 |
|---|---|---|
| 123 | 数値 | 計算に使える数 |
| "123" | 文字列 | 1、2、3 という文字の並び |
| '1' | 文字 | 数字の形をした1文字 |
"123" は数字に見えます。
けれども、" " で囲まれているため、Javaでは数値ではなく文字列です。
これはとても大切なポイントです。
Javaでは、中身の見た目だけではなく、どう書かれているか で意味が決まります。
鬼滅風にたとえるなら、123 は力の数値札です。
"123" は、1、2、3 という文字を書いた巻物です。
'1' は、1という形をした1枚の文字札です。
見た目が似ていても、役割は違います。
文字列リテラルは画面に出力すると " " がつかない
文字列リテラルは、コードの中では " " で囲んで書きます。
"こんにちは"しかし、画面に表示されたときには " は表示されません。
画面に出るのは、次のような見た目です。
こんにちは"こんにちは" と表示されるわけではありません。
これは、ダブルクォーテーションが 文字列であることをJavaに伝えるための記号 だからです。
実際に表示したい文字そのものではありません。
| コード上の書き方 | 表している値 | 画面に出る見た目 |
|---|---|---|
| "Hello" | 文字列 | Hello |
| "こんにちは" | 文字列 | こんにちは |
| "123" | 文字列 | 123 |
| "A" | 文字列 | A |
鬼滅風にたとえるなら、" " は巻物の外枠です。
外枠は「ここからここまでが文字列です」と示すためにあります。
実際に画面へ現れるのは、巻物の中に書かれた文字だけです。
文字列は " " で囲んで表記する
文字列リテラルについて、まず確実に押さえたい基本はこれです。
文字列は " " で囲んで表記します。
このルールがあるからこそ、Javaは「ここからここまでが文字列」と判断できます。
反対に、" " がなければ、Javaはそれを文字列として認識しません。
| 書き方 | 種類 |
|---|---|
| 'あ' | 文字 |
| "あ" | 文字列 |
| あ | 文字列ではない |
| "Java" | 文字列 |
| Java | 文字列ではない |
学習の初期では、特に次の2つを混同しやすいです。
'あ'
"あ"見た目はほとんど同じでも、Javaでは別物です。
| 書き方 | Javaでの扱い |
|---|---|
| 'あ' | 1つの文字 |
| "あ" | 1文字だけの文字列 |
この違いを見分けるには、まず囲み方を見るのが大切です。
文字列リテラルの具体例
文字列リテラルには、いろいろな形があります。
"Hello"
"Goodbye"
"こんにちは"
"Java入門"
"2026年"
"学習中です"
"A B C"これらに共通しているのは、どれも " " で囲まれている ことです。
英語でも日本語でも、数字を含んでいても、空白を含んでいても、ダブルクォーテーションで囲まれていれば文字列リテラルです。
| 例 | 文字列リテラルか | 理由 |
|---|---|---|
| "Hello" | はい | " " で囲まれている |
| "こんにちは" | はい | " " で囲まれている |
| "123" | はい | 数字に見えるが " " で囲まれている |
| "A B C" | はい | 空白を含むが " " で囲まれている |
| Hello | いいえ | " " で囲まれていない |
| 'A' | いいえ | 文字リテラル |
文字列かどうかを見分ける一番のポイントは、" " で囲まれているかどうか です。
文字と文字列の違いを表で整理しよう
文字リテラルと文字列リテラルは、似ているようで役割が異なります。
| 項目 | 文字 | 文字列 |
|---|---|---|
| 表すもの | 1つの文字 | 文字の並び |
| 囲む記号 | ' ' | " " |
| 例 | 'A' | "A" |
| 例 | 'あ' | "あ" |
| 例 | '1' | "123" |
| Javaでの見方 | 1枚の文字札 | 文字の巻物 |
ここで特に大切なのは、1文字だけのときでも "A" は文字列 だという点です。
| 書き方 | 見た目 | Javaでの扱い |
|---|---|---|
| 'A' | A | 文字 |
| "A" | A | 文字列 |
| '1' | 1 | 文字 |
| "1" | 1 | 文字列 |
| 1 | 1 | 数値 |
Javaは見た目だけで判断しているわけではありません。
囲み方によって、文字なのか、文字列なのか、数値なのかを判断します。
図:文字列リテラルの基本
↓クリックすると拡大表示されます。

この図は、文字列リテラルが " " で囲まれた文字のまとまり であることを表しています。
この図から分かることは、文字列リテラルは中にある文字を1つずつ持ちながらも、全体として1つの文字列として扱われるということです。
また、比較として 'あ' を置くことで、1文字を表す文字リテラルとは囲み方も意味も違うことが分かります。
"あ" のように1文字だけでも、" " で囲まれていればJavaでは文字列として扱われます。
よくある混同ポイント
文字列リテラルを学ぶときは、次のような点で混同しやすいです。
1文字でも " " で囲めば文字列
"A"これは1文字だけに見えますが、文字ではなく文字列です。
| 書き方 | Javaでの扱い |
|---|---|
| 'A' | 文字 |
| "A" | 文字列 |
数字が入っていても " " で囲めば文字列
"123"これは数値ではありません。
1、2、3 という文字の並びです。
| 書き方 | Javaでの扱い |
|---|---|
| 123 | 数値 |
| "123" | 文字列 |
| '1' | 文字 |
画面に " が表示されるわけではない
"こんにちは"コード上では " " で囲みます。
しかし、画面に出るのは次の見た目です。
こんにちは"こんにちは" と引用符付きで表示されるわけではありません。
| コード上の書き方 | 画面表示 |
|---|---|
| "こんにちは" | こんにちは |
| "A" | A |
| "123" | 123 |
このように、見た目だけでなく、囲み方を見ることが大切です。
中身だけでなく囲み方を見る習慣をつけよう
Javaでは、値を見るときに中身だけを見て判断すると間違えやすくなります。
たとえば、次の3つを比べてみましょう。
1
'1'
"1"どれも 1 に見えます。
しかし、Javaでの意味は違います。
| 書き方 | 種類 | 意味 |
|---|---|---|
| 1 | 数値 | 計算に使える値 |
| '1' | 文字 | 数字の形をした1文字 |
| "1" | 文字列 | 1文字だけの文字列 |
同じように、次の2つも区別します。
'あ'
"あ"| 書き方 | 種類 |
|---|---|
| 'あ' | 文字 |
| "あ" | 文字列 |
鬼滅風に言えば、同じ あ という印でも、1枚の技札として持つのか、巻物としてまとめるのかで扱いが変わります。
Javaコードを読むときは、中身 と 囲み方 をセットで見る習慣をつけましょう。
文字列はあとでさらに深く学ぶ大切なテーマ
文字列は、Javaの中でもとてもよく使う重要な要素です。
画面へメッセージを表示するときにも使います。
入力された内容を扱うときにも使います。
さらに、文章をつなげたり、長さを調べたり、一部を取り出したりする場面でも使います。
| 文字列を使う場面 | 内容 |
|---|---|
| 画面表示 | メッセージを表示する |
| 入力処理 | 入力された名前や文章を扱う |
| 文字列の連結 | 複数の文字列をつなげる |
| 長さの確認 | 文字数を調べる |
| 一部の取り出し | 文章の一部分を使う |
| 比較 | 同じ文字列かどうかを調べる |
今の段階では、文字列操作の細かいところまで覚えなくても大丈夫です。
まずは、次の基本を押さえておきましょう。
| 基本 | 内容 |
|---|---|
| 文字列は文字の並びを表す | Hello や こんにちは のようなまとまり |
| 文字列リテラルは " " で囲む | "Hello" のように書く |
| 文字と文字列は別のもの | 'A' と "A" は違う |
| 表示時に " は出ない | "Hello" は Hello と表示される |
| 数字でも " " で囲めば文字列 | "123" は数値ではなく文字列 |
この土台ができていると、今後の文字列操作の学習にも入りやすくなります。
図:文字・文字列・数値の違い
↓クリックすると拡大表示されます。

この図は、'1'、"1"、1 の違いを見比べるための図です。
この図から分かることは、同じ 1 に見えても、Javaでは囲み方によって意味が変わるということです。
'1' は文字、"1" は文字列、1 は数値です。
同じように、'A' と "A" も、見た目は似ていますが、Javaでは別のものとして扱われます。
文字列リテラルを理解するとコードの見方が変わる
文字列リテラルの考え方が分かると、Javaのコードを読むときに、値の種類を判断しやすくなります。
この部分は文章なのか。
この部分は1文字なのか。
この部分は数値なのか。
それとも数字に見えるだけの文字列なのか。
こうした違いを見分けられるようになります。
| 見分けたいもの | 判断のポイント |
|---|---|
| 文字 | ' ' で囲まれている |
| 文字列 | " " で囲まれている |
| 数値 | 囲み記号なしで数字として書かれている |
| 数字の文字列 | "123" のように " " で囲まれている |
| 数字の文字 | '1' のように ' ' で囲まれている |
特に画面出力の学習では、表示する内容が文字列リテラルであることが多いです。
そのため、文字列リテラルに慣れておくと、コード全体がぐっと読みやすくなります。
鬼滅風に言えば、文字列リテラルを理解することは、巻物の中にある文字札のまとまりを見抜く修行です。
1枚の札なのか。
複数の札をまとめた巻物なのか。
数字の力札なのか。
この違いを見分けられるようになると、Javaの文字の世界が少しずつ広がっていきます。
