Java道|Javaリテラルの基本

リテラルは、Javaコードに直接置かれた値の札。
文字、文字列、数値の書き方を見分けると、コードの意味がぐっと読みやすくなる。

Javaで画面に文字を表示するプログラムに慣れてくると、次に気になってくるのが、かっこの中に書かれている値そのものです。

たとえば、次のような値です。

System.out.println('春');
System.out.println("Javaの学習を始めます。");
System.out.println(2025);

どれも画面に表示する内容ですが、Javaの中ではすべて同じ扱いではありません。

'春' は1つの文字を表します。
"Javaの学習を始めます。" は文字の並びを表します。
2025 は数値を表します。

このように、プログラムの中に直接書かれた値のことを リテラル と呼びます。リテラルは、Javaコードの中で「値そのもの」を表す大切な部品です。見た目の違いは小さくても、Javaにとっては意味が大きく変わるため、早い段階で区別できるようになることが大切です。

鬼滅の刃の世界観にたとえるなら、リテラルは 技の巻物に直接書かれた力の札 のようなものです。

Javaのリテラル鬼滅風のたとえ
'春'1文字だけを示す小さな札
"Javaの学習を始めます。"文章をまとめた巻物の一節
2025数値の力をそのまま示す札
'7'数字の形をした文字の札
"123"数字に見えるが、文字列として扱う札
123計算にも使える数値の札

リテラルを理解すると、Javaコードを読むときに「これは文字なのか」「これは文章なのか」「これは数値なのか」を見分けられるようになります。

この見分けができると、これから変数、計算、条件分岐などを学ぶときにも、コードの意味を落ち着いて読み取れるようになります。

↓クリックすると拡大表示されます。

まずはSample3.javaを見てみよう

リテラルの基本を理解するために、次のサンプルプログラムを使います。

ファイル名:Sample3.java

// 文字、文字列、数値を表示するプログラム
class Sample3
{
    public static void main(String[] args)
    {
        System.out.println('桜');
        System.out.println("Java修行を続けます。");
        System.out.println(2026);
    }
}

このプログラムを実行すると、画面には次のように表示されます。

桜
Java修行を続けます。
2026

このコードの中には、3つの値が直接書かれています。

'桜'
"Java修行を続けます。"
2026

これらが、今回のテーマであるリテラルです。

コードに書かれた値表しているもの種類
'桜'1つの文字文字リテラル
"Java修行を続けます。"文字の並び文字列リテラル
2026整数の数値数値リテラル

鬼滅風に言えば、Sample3.javaには3種類の札が入っています。

1つ目は、桜という1文字を示す札。
2つ目は、Java修行を続けます。という文章の札。
3つ目は、2026という数値の札です。

見た目はどれも画面に表示される内容ですが、Javaの中では種類が分かれています。

リテラルとは何か

リテラルとは、プログラムの中に直接書かれた値のことです。

たとえば、Sample3.javaでは次の3つがリテラルです。

'桜'
"Java修行を続けます。"
2026

これらは、変数のように名前を付けて保存されているわけではありません。
コードの中に、そのまま値として書かれています。

リテラル意味
'桜'1つの文字そのもの
"Java修行を続けます。"文字列そのもの
2026数値そのもの

つまり、リテラルとは 値そのものを表す書き方 です。

鬼滅風にたとえるなら、リテラルは巻物の中に直接置かれた「力の札」です。
名前付きの箱にしまっているのではなく、その場に「桜」「Java修行を続けます。」「2026」と直接書かれている状態です。

Javaでは、この書き方によって値の種類を判断します。

書き方Javaの受け取り方
'桜'1つの文字
"桜"1文字だけの文字列
2026数値
"2026"数字の並びに見える文字列
'2'数字の形をした文字

大切なのは、中身だけでなく 囲み方まで含めて意味が決まる ということです。

Javaは意味のある部品でできている

Javaのコードは、ただ文字が横に並んでいるだけではありません。

人間の文章が単語や句読点の組み合わせでできているように、Javaのコードも意味を持つ小さな部品の組み合わせでできています。

この意味を持つ部品のことを トークン と呼びます。

Sample3.javaを見てみましょう。

// 文字、文字列、数値を表示するプログラム
class Sample3
{
    public static void main(String[] args)
    {
        System.out.println('桜');
        System.out.println("Java修行を続けます。");
        System.out.println(2026);
    }
}

この中には、いろいろなトークンがあります。

トークンの種類役割
リテラル'桜'、"Java修行を続けます。"、2026値そのものを表す
キーワードclass、public、static、voidJavaで特別な意味を持つ語
識別子Sample3、main名前を表す
区切り子;、( )、{ }文や構造を区切る
演算子+、-、*、/計算などに使う

この記事で特に注目するのは、リテラルです。

リテラルは、Javaの中で値を表すトークンです。
コードの中に出てくる値を見たとき、「これはどんな種類の値なのか」を判断できるようになることが大切です。

鬼滅風に言えば、Javaコードは巻物に書かれた型の集まりです。
その中には、技の名前、区切りの印、構えの記号、そして力の札があります。
リテラルは、その中でも「値そのもの」を示す札です。

文字リテラルとは何か

Javaでは、1つの文字を表すときに 文字リテラル を使います。

文字リテラルは、シングルクォーテーションで囲んで書きます。

'桜'
'A'
'7'
'あ'

Sample3.javaでは、次の部分が文字リテラルです。

System.out.println('桜');

この '桜' は、1つの文字を表しています。

書き方意味
'A'英字1文字
'あ'日本語1文字
'7'数字の形をした1文字
'桜'漢字1文字

ここで大切なのは、文字リテラルは 1文字だけ を表すということです。

たとえば、次のような書き方は文字リテラルとしては扱えません。

'Java'

これは複数の文字が入っているため、1つの文字ではありません。
複数の文字を表す場合は、文字列リテラルとしてダブルクォーテーションで囲みます。

"Java"

鬼滅風にたとえるなら、文字リテラルは1枚の小さな札です。
札1枚には、桜やAのような1つの印だけを書きます。
たくさんの文字を並べたい場合は、1枚の札ではなく、文章として巻物に書くイメージです。

文字リテラルは画面ではシングルクォーテーションが表示されない

文字リテラルは、コードの中ではシングルクォーテーションで囲んで書きます。

System.out.println('桜');

しかし、実行結果の画面にはシングルクォーテーションは表示されません。

これは、シングルクォーテーションが「これは1つの文字ですよ」とJavaに伝えるための記号だからです。

コード上の書き方画面に表示されるもの
'桜'
'A'A
'7'7

シングルクォーテーションは、表示したい文字そのものではありません。
Javaに値の種類を伝えるための印です。

鬼滅風に言えば、札の外枠のようなものです。
外枠は「これは1文字の札です」と示すためにあり、技を放ったときに見えるのは中身の文字だけです。

文字列リテラルとは何か

文字列リテラルは、文字の並びを表すリテラルです。

文字列は、ダブルクォーテーションで囲んで書きます。

"こんにちは"
"Java"
"123"
"学習中です"

Sample3.javaでは、次の部分が文字列リテラルです。

System.out.println("Java修行を続けます。");

この "Java修行を続けます。" は、複数の文字が並んだひとまとまりの文章です。

書き方意味
"こんにちは"文字の並び
"A"1文字だけだが文字列
"123"数字の並びだが文字列
"桜です"複数文字の文字列

ここで大切なのは、見た目だけで判断しないことです。

たとえば、"123" は数字のように見えます。
しかし、ダブルクォーテーションで囲まれているため、Javaでは文字列として扱います。

書き方種類
123数値リテラル
"123"文字列リテラル
'1'文字リテラル

鬼滅風にたとえるなら、文字列リテラルは巻物に書かれた一文です。
1文字だけでも、ダブルクォーテーションで囲まれていれば、Javaは「文字列の巻物」として受け取ります。

文字リテラルと文字列リテラルの違い

Javaでは、1つの文字と文字の並びを区別して扱います。

特に混同しやすいのが、次の2つです。

'桜'
"桜"

人間の目には、どちらも桜という文字に見えます。
しかし、Javaでは別の種類です。

書き方種類意味
'桜'文字リテラル1つの文字
"桜"文字列リテラル1文字だけの文字列
'A'文字リテラル1つの文字
"A"文字列リテラル1文字だけの文字列

この違いは、あとで変数やメソッドを学ぶときにも大切になります。

今の段階では、次のように押さえておくと分かりやすいです。

囲み方Javaでの扱い
' '1つの文字
" "文字列

つまり、1文字かどうかだけで決まるのではありません。
どの記号で囲んでいるか が大切です。

鬼滅風に言えば、同じ桜という印でも、小さな札に1文字だけ刻むのか、巻物の一文として書くのかで扱いが変わります。

数値リテラルとは何か

数値をそのまま書いたものは 数値リテラル です。

Sample3.javaでは、次の部分が数値リテラルです。

System.out.println(2026);

この 2026 は数値そのものです。
シングルクォーテーションやダブルクォーテーションで囲まれていないため、文字でも文字列でもなく、数値として扱われます。

書き方種類
2026数値リテラル
100数値リテラル
0数値リテラル
"2026"文字列リテラル
'2'文字リテラル

今の段階では、まず整数をそのまま書いたものは数値リテラルになる、と考えると分かりやすいです。

鬼滅風にたとえるなら、数値リテラルは力の値をそのまま示す札です。
囲み記号が付いていないため、Javaは「これは文字ではなく数値だ」と受け取ります。

Sample3.javaの3つのリテラルを整理しよう

Sample3.javaの中で、リテラルが使われている3つの文をもう一度見てみましょう。

ファイル名:Sample3.java

// 文字、文字列、数値を表示するプログラム
class Sample3
{
    public static void main(String[] args)
    {
        System.out.println('桜');
        System.out.println("Java修行を続けます。");
        System.out.println(2026);
    }
}

それぞれの行で使われているリテラルを整理すると、次のようになります。

使われているリテラル種類
System.out.println('桜');'桜'文字リテラル
System.out.println("Java修行を続けます。");"Java修行を続けます。"文字列リテラル
System.out.println(2026);2026数値リテラル

この3つを見比べると、Javaが文字、文字列、数値をきちんと区別していることが分かります。

画面に表示されるときは、どれも文字のように見えるかもしれません。
しかし、コードの中では種類が違います。

コード上の値画面表示Javaでの種類
'桜'文字
"Java修行を続けます。"Java修行を続けます。文字列
20262026数値

この区別が、Javaのリテラルを理解するうえでとても大切です。

図:リテラルの種類

↓クリックすると拡大表示されます。

この図は、Javaのリテラルを、文字リテラル、文字列リテラル、数値リテラルの3種類に分けて表しています。

この図から分かることは、Javaでは値の書き方によって意味が変わるということです。

'桜' は1つの文字、"Java修行を続けます。" は文字の並び、2026 は数値として扱われます。
特に、囲み記号の違いによって、Javaが値をどう受け取るのかが変わる点が重要です。

よくある見間違いに注意しよう

リテラルの学習では、見た目が似ているために混同しやすいものがあります。

見間違いやすい例実際の意味
'A' と "A"前者は文字、後者は文字列
'2' と 2前者は文字、後者は数値
"123" と 123前者は文字列、後者は数値
'桜' と "桜"前者は文字、後者は文字列

この違いは、最初は小さく見えるかもしれません。
しかし、Javaではとても大切な区別です。

たとえば、次の3つは見た目が似ています。

'2'
"2"
2

しかし、Javaでの意味は違います。

書き方種類イメージ
'2'文字リテラル数字の形をした1文字
"2"文字列リテラル1文字だけの文字列
2数値リテラル計算に使える数値

鬼滅風にたとえるなら、同じ2という形でも、文字の札、文章の巻物、数値の札では役割が違います。

Javaコードを読むときは、中身だけでなく、どんな記号で囲まれているかまで確認しましょう。

リテラルは画面表示だけでなく今後の土台になる

今は、リテラルを System.out.println で画面に表示しているだけです。

しかし、リテラルの考え方は、これから先のJava学習でも何度も出てきます。

たとえば、変数に値を入れるときにもリテラルを使います。

int year = 2026;

この 2026 は数値リテラルです。

文字列を変数に入れるときにも使います。

String message = "Java修行を続けます。";

この "Java修行を続けます。" は文字列リテラルです。

文字を変数に入れるときにも使います。

char mark = '桜';

この '桜' は文字リテラルです。

使う場面リテラルの例種類
画面に表示するSystem.out.println(2026);数値リテラル
変数に数値を入れるint year = 2026;数値リテラル
変数に文字列を入れるString message = "Java修行を続けます。";文字列リテラル
変数に文字を入れるchar mark = '桜';文字リテラル

リテラルを理解しておくと、これから変数を学ぶときにも、値の種類を整理しやすくなります。

図:似ているリテラルの違い

↓クリックすると拡大表示されます。

この図は、見た目が似ているリテラルの違いを比較しています。

この図から分かることは、Javaでは中身だけでなく、囲み方まで含めて値の種類を判断するということです。

'桜' と "桜" は、どちらも桜という文字に見えますが、前者は文字リテラル、後者は文字列リテラルです。
また、"123" と 123 は見た目が似ていますが、前者は文字列、後者は数値です。

リテラルを見分ける練習

リテラルを見分けるときは、次の順番で確認すると分かりやすくなります。

確認すること判断のしかた
シングルクォーテーションで囲まれているか1文字なら文字リテラル
ダブルクォーテーションで囲まれているか文字列リテラル
囲み記号がなく数字だけか数値リテラル
数字に見えても囲まれているか文字または文字列として扱う

いくつか例を見てみましょう。

種類理由
'炎'文字リテラル1文字が ' ' で囲まれている
"炎"文字列リテラル" " で囲まれている
10数値リテラル囲み記号なしの整数
"10"文字列リテラル数字に見えるが " " で囲まれている
'1'文字リテラル数字の形をした1文字

鬼滅風にたとえるなら、値を見るときは「札の中身」だけでなく、「どんな枠で囲まれているか」を確認する修行です。

同じ形に見えても、枠が違えば役割が変わります。

Sample3.javaはリテラルの最初の学習に向いている

Sample3.javaは短いプログラムですが、リテラルの基本を学ぶにはとても分かりやすい形です。

ファイル名:Sample3.java

// 文字、文字列、数値を表示するプログラム
class Sample3
{
    public static void main(String[] args)
    {
        System.out.println('桜');
        System.out.println("Java修行を続けます。");
        System.out.println(2026);
    }
}

この1つのプログラムの中に、次の3種類のリテラルが入っています。

種類Sample3.javaの例
文字リテラル'桜'
文字列リテラル"Java修行を続けます。"
数値リテラル2026

このコードを見ながら、どれが文字で、どれが文字列で、どれが数値なのかを確認すると、Javaの値の扱い方が少しずつ見えてきます。

見た目は小さな違いでも、Javaにとっては大切な区別です。

'桜' は文字。
"桜" は文字列。
2026 は数値。
"2026" は文字列。
'2' は文字。

この違いを丁寧に押さえておくことで、これから先のJava学習がぐっと進めやすくなります。