System.out.println("Java学習中");

【Java / Spring Boot】UI/UXの視点を活かしたバックエンド開発の学習ポートフォリオ

【Java Silver対策】ダブルクォーテーション(")文字と数字の違い

🟢 はじめに

Javaを勉強していると、数字の周りに "ダブルクォーテーション)がついていたり、ついていなかったりすることってありませんか?

実はJavaの世界では、「ダブルクォーテーション")という記号で囲まれているかどうか」で、文字数字かを完全に区別しています。

まずは、こちらのコードを見てみてください👀

import java.util.Arrays;

public class Main {
    public static void main(String[] args) {
        Object[] mixedIds = {"10", new String("20"), 30};
        String[] stringIds = {"10", "20", "30"};
        
        // Arrays.mismatchは、2つの配列を比べて「最初に中身が食い違う場所(インデックス)」を探すメソッド
        int diffIndex = Arrays.mismatch(stringIds, mixedIds);
        
        System.out.println(diffIndex);
    }
}

このプログラムを実行すると、結果は 2 になります。

つまり、Javaは「0番目10)と1番目20)は同じだけど、2番目30)は違うものだ!」と判断しています。

見た目は同じ「30」なのに、なぜでしょうか?🤔

その秘密は、ダブルクォーテーションにあります!


🪄 ダブルクォーテーション(")は、数字をTシャツのデザインに変換する魔法

Javaに「これは計算用の数字じゃなくて、文字テキスト)だよ」と伝えるための絶対ルール、それが"" で囲むことです。

👕 "10" などの場合

"" で囲まれた "10" は、例えるなら「10というデザインがプリントされたTシャツ」です。

人間が見れば「あ、10だ」と分かります。

でも、Tシャツなので「この "10" に 5 を足して 15 にして!」と計算することはできませんよね。

Javaは "" を見た瞬間、「なるほど、これは計算用の数字ではなく、ただの文字String型)だな!」と判断します。

🪙 30 などの場合

一方で "" で囲まれていない 30 は、例えるなら「本物の30円計算に使えるお金)」です。

"" がついていないので、Javaは「おっ、これは足し算や引き算ができる本物の数字int型の数値)だな!」と判断します。

🕵️‍♂️ だからJavaは「違う!」と見抜いた

先ほどのコードの2番目インデックス2)をもう一度見てみましょう。

stringIds の方: "30" (文字のTシャツ 👕)

mixedIds の方: 30 (本物の数字 🪙)

見た目は同じ「さんじゅう」でも、「Tシャツ」と「本物のお金」くらい全く別物です!

だからJavaは「ここは違う種類のものが入っているぞ!」と判断して、食い違った場所である 2 を教えてくれた、というわけです💡


📦 おまけ:Object[] という「何でも入る魔法の箱」

そもそも、文字と数字を同じ配列に入れてもいいの?」と疑問に思った方、鋭いです✨

通常、Javaの配列箱の列)は「文字だけ!」「数字だけ!」と種類を揃えないといけません(String[]文字専用の箱の列です)。

しかし、mixedIdsObject[]オブジェクト配列) という特別な箱の列として作られています。

この Object というのは、「文字でも、数字でも、どんな種類)のものでも入れてOK!🙆‍♂️」という超万能な魔法の段ボール箱なんです。

だから、この中には、

0番目:"10"(文字のTシャツ 👕)

1番目:new String("20")(新しく作った文字のTシャツ 👕)

2番目:30(本物の数字の硬貨 🪙)

という、全然違う種類のものがごちゃ混ぜに同居できていたんですね。


📝 まとめ

"10"

👉 "" があるから「文字String型)」

見た目は数字でも計算できないTシャツ👕

30

👉 "" がないから「数字int型など)」

計算できる本物のお金🪙

Javaは見た目の印象ではなく、「" があるかどうか」という文法ルール)だけで厳密に判断しています。

この「文字と数字の違い」は、JavaSilverの試験でも実際の開発現場でもめちゃくちゃ重要だと言われていますので、ぜひこの「Tシャツと硬貨」のイメージで覚えてみてください✨

同じように「ダブルクォーテーション")の使い方がいまいちわからない🤯」と悩んでいる方の参考になれば幸いです🙌


【プロフィール・作品置き場】

kenichikamoi.com


🎵 Youtube(楽曲一覧)はこちら

www.youtube.com