Java入門|Javaのリテラル

文字も数字も、Javaでは書き方に意味がある。リテラルの基本を知って、コードの見え方をやさしく整えよう

これまでに、Javaで画面に文字を表示する基本的なプログラムを学んできました。ここから一歩進むと、画面に表示している内容そのものが、Javaの中でどのように書かれているのかが気になってきます。たとえば、1文字だけを表す書き方と、文章のような文字の並びを表す書き方は、実は同じではありません。数字もまた、文字とは違うルールで書かれています。

Javaでは、このようにプログラムの中に直接書かれる値のことを リテラル と呼びます。リテラルは、コードの中で 値そのもの を表す、とても大切な要素です。見た目は小さな違いでも、Javaにとっては意味の違う書き方になります。ですので、早い段階でこの考え方に慣れておくことはとても大切です。

特に学習の初期では、'A' と "A" の違い、123 と "123" の違いが見た目以上に重要です。この違いがわかると、Javaのコードがただの文字の並びではなく、意味のある部品の組み合わせでできていることが少しずつ見えてきます。

ここでは、Javaのリテラルとは何かをはじめとして、文字リテラル、文字列リテラル、数値リテラルの基本を、サンプルプログラムを使いながら丁寧に見ていきます。あわせて、Javaで使われるトークンという考え方にも軽くふれながら、コードの読み方を少しずつ深めていきましょう。

まずはサンプルプログラムを見てみよう

最初に、リテラルを含むシンプルなサンプルプログラムを見てみましょう。

ファイル名:Sample3.java

// 文字、文字列、数値を表示するプログラム
class Sample3
{
    public static void main(String[] args)
    {
        System.out.println('春');
        System.out.println("Javaの学習を始めます。");
        System.out.println(2025);
    }
}

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

春
Javaの学習を始めます。
2025

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

  • '春'
  • "Javaの学習を始めます。"
  • 2025

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

リテラルとは何か

リテラルとは、一定の 値 を表すために、プログラムの中へ直接書かれた表記のことです。

今回の Sample3.java でいえば、次の3つがリテラルです。

'春'
"Javaの学習を始めます。"
2025

これらは、それぞれ次のような意味を持っています。

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

つまり、リテラルとは 値そのものを表す書き方 だと考えるとわかりやすいです。変数のように名前をつけて保存しているわけではなく、その場に直接、値を置いているイメージです。

リテラルを表で整理すると、次のようになります。

リテラル表しているもの種類
'春'1つの文字文字リテラル
"Javaの学習を始めます。"文字の並び文字列リテラル
2025整数の数値数値リテラル

Javaは単語のような部品でできている

人間の言語が単語の組み合わせで文章を作るように、Javaも意味を持つ部品の組み合わせで成り立っています。Javaでは、そのような意味のある最小単位を トークン と呼びます。

たとえば、Sample3.java の中にはいろいろなトークンがあります。

class Sample3
{
    public static void main(String[] args)
    {
        System.out.println('春');
        System.out.println("Javaの学習を始めます。");
        System.out.println(2025);
    }
}

この中には、class のような言葉、Sample3 のような名前、System.out.println のような命令の一部、( ) や { } や ; のような記号、そして '春' や "Javaの学習を始めます。" や 2025 のようなリテラルがあります。

Javaでよく出てくる主なトークンを整理すると、次のようになります。

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

このうち、今学ぶのは リテラル です。リテラルは、Javaの中で 値を表すトークン だと覚えておくとよいでしょう。

文字リテラルとは何か

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

文字リテラルは、次のように ' ' で囲んで書きます。

'春'
'A'
'7'
'あ'

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

System.out.println('春');

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

文字リテラルの基本を表にすると、次のようになります。

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

ここで特に意識したいのは、数字の 7 を '7' と書いた場合、それは数値ではなく 文字 として扱われるということです。見た目が数字でも、' ' で囲まれていれば文字です。

文字リテラルは画面では ' ' がつかない

文字リテラルはコードの中では ' ' で囲んで書きますが、実行結果の画面には ' は表示されません。

たとえば、Sample3.java のこの文を見てみましょう。

System.out.println('春');

実行結果は次のようになります。

画面には 春 だけが表示され、'春' のようには表示されません。

これはとても大切なポイントです。' ' は、Javaに対して これは1つの文字ですよ と伝えるための記号であり、出力される文字そのものではありません。

この点を整理すると、次のようになります。

コード上の書き方画面に出るもの
'春'
'A'A
'7'7

【重要】1つの文字は ' ' で囲んで表す

Javaのリテラルで最初にしっかり覚えたいルールがこれです。

1つの文字は ' ' で囲んで表記します。

たとえば、次のような書き方です。

'春'
'A'
'あ'

逆に、1つの文字だからといって " " を使うと、それは文字列として扱われます。つまり、見た目が1文字でも、囲む記号が違うと意味も変わるのです。

この違いはとても重要なので、最初のうちから意識しておきましょう。

文字列リテラルとは何か

文字列リテラルは、文字の並びを表すリテラルです。文字列は " " で囲んで書きます。

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

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

この "Javaの学習を始めます。" は、複数の文字が並んだひとまとまりの文章です。これを文字列といいます。

文字列リテラルの例をいくつか挙げると、次のようになります。

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

文字列リテラルのポイントを表にすると、次のようになります。

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

ここでも大事なのは、見た目だけで判断しないことです。たとえば "123" は数字のように見えますが、" " で囲まれているので数値ではなく文字列です。

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

Javaでは、1つの文字 と 文字の並び を区別して扱います。これがとても大切です。

見た目が似ていても、次の2つは別物です。

'春'
"春"

違いを表にしてみましょう。

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

人が見るとほとんど同じに見えるかもしれませんが、Javaではきちんと区別されます。

この違いは、あとで変数やメソッドを学ぶときにもとても重要になります。今の段階では、1文字なら必ず文字リテラルというわけではなく、' ' で囲めば文字、" " で囲めば文字列 だと押さえておくとよいでしょう。

数値リテラルとは何か

数値をそのまま書いたものは 数値リテラル です。Sample3.java では、次の部分がそれにあたります。

System.out.println(2025);

この 2025 は、数値そのものです。' ' や " " で囲まれていないので、文字でも文字列でもなく、数値として扱われます。

数値リテラルの例としては、次のようなものがあります。

123
0
45
2025

今の段階では、まず 整数の数値をそのまま書けば数値リテラルになる と理解しておけば十分です。

表にすると、次のようになります。

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

このように、同じように見える内容でも、囲み方によって意味が変わります。

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

ここで、サンプルの3行をもう一度見てみます。

ファイル名:Sample3.java

// 文字、文字列、数値を表示するプログラム
class Sample3
{
    public static void main(String[] args)
    {
        System.out.println('春');
        System.out.println("Javaの学習を始めます。");
        System.out.println(2025);
    }
}

それぞれの行の意味を整理すると、次のようになります。

使われているリテラル種類
System.out.println('春');'春'文字リテラル
System.out.println("Javaの学習を始めます。");"Javaの学習を始めます。"文字列リテラル
System.out.println(2025);2025数値リテラル

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

リテラルの違いを図でイメージしよう

リテラルは、見た目が少し似ていても意味が違います。

この図では、同じように見える値でも、書き方によってJavaの受け取り方が変わることがわかります。特に '春' と "春" は、見た目の差が小さいので混同しやすいですが、Javaでははっきり別の種類として扱われます。

また、2025 のように囲み記号がつかない数値は、文字ではなく数値そのものとして解釈されます。こうした違いを意識してコードを見るようになると、Javaの文法が少しずつ整理されて見えてきます。

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

リテラルの学習では、次のような見間違いがとても起こりやすいです。

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

この違いは、最初のうちは小さな違いに見えるかもしれません。しかし、Javaではこの書き分けが正しくできないと、思った通りに動かない原因になります。

ですので、値を見るときには 中身だけでなく、どんな記号で囲まれているか までセットで確認する習慣をつけるとよいです。

リテラルを知るとコードの読み方が変わる

リテラルを理解すると、Javaのコードを読むときに これは何の値なのか を意識できるようになります。

たとえば Sample3.java を見ると、

  • '春' は1つの文字
  • "Javaの学習を始めます。" は文字列
  • 2025 は数値

というように、値の種類を見分けられるようになります。

これは今後、変数を使ったり、計算をしたり、条件分岐を書いたりするときの土台になります。今はまだ画面に表示するだけのシンプルなコードですが、その中にも Javaが値をどう扱うか という大事な考え方が入っているのです。

Sample3.java はリテラルの最初の学習にぴったり

Sample3.java のサンプルは短いですが、リテラルの基本を学ぶにはとてもよい形です。1つのプログラムの中に、文字リテラル、文字列リテラル、数値リテラルの3種類がそろっているので、違いを見比べながら理解できます。

ファイル名:Sample3.java

// 文字、文字列、数値を表示するプログラム
class Sample3
{
    public static void main(String[] args)
    {
        System.out.println('春');
        System.out.println("Javaの学習を始めます。");
        System.out.println(2025);
    }
}

このコードを何度か読み返して、どれが文字で、どれが文字列で、どれが数値なのかを見分ける練習をすると、Javaの基礎がかなりしっかりしてきます。

見た目は小さな違いでも、Javaにとっては大切な区別です。リテラルの基本を丁寧に身につけていくことで、これから先に出てくるさまざまな文法も、ぐっと理解しやすくなっていきます。