今回は Javaの「エスケープシーケンス」 という少し聞き慣れない言葉を、プログラミング初心者にも分かるように、かみ砕いて解説します。
実際に動かしてみる例題もたくさん用意しました。
エスケープシーケンスとは?
「エスケープシーケンス」とは、
文字列の中で特殊な文字(改行・タブ・”・\ など)を表すための特別な書き方 のことです。
Javaでは文字列を "..." の形で書きますね。
たとえば:
System.out.println("こんにちは");
Javaと書くと、「こんにちは」と表示されます。
でも、こんなことをしたいときはどうする?
① 改行したい!
例えばこんなふうに、2行で表示したい場合:
こんにちは
お元気ですか?
こう書くと…
System.out.println("こんにちは
お元気ですか?");
Java❌ エラーになります!
理由は、文字列は " " で囲う必要があるのに、途中で改行すると
「まだ終わってないのに改行しちゃった」とJavaが勘違いするからです。
そこで登場!エスケープシーケンス
改行したいときは、文字列の中に\n(バックスラッシュ+n)を入れます。
System.out.println("こんにちは\nお元気ですか?");
Java出力結果:
こんにちは
お元気ですか?
これが「改行」のエスケープシーケンスです!
よく使うエスケープシーケンス一覧
| 書き方 | 意味 | 例 |
|---|---|---|
\n | 改行 | "A\nB" → AB |
\t | タブ(大きな空白) | "A\tB" → A B |
\" | ダブルクォーテーションを出す | "彼は\"天才\"だ" → 彼は”天才”だ |
\' | シングルクォーテーションを出す | '\'A\'' → 'A' |
\\ | バックスラッシュそのものを出す | "C:\\Users\\Name" → C:\Users\Name |
もう少し詳しく見てみよう
例①:「”」を文字列の中で使いたい
System.out.println("彼は"天才"だ");
Javaこれは ❌ エラーになります。
理由:「”」が途中に出てくると、Javaは「文字列がここで終わった!」と勘違いします。
✅ 正しくはこう:
System.out.println("彼は\"天才\"だ");
Java出力結果:
彼は"天才"だ
例②:「\」を表示したい
System.out.println("C:\Users\Name");
Javaこれも ❌ エラー。
なぜなら \U や \N は存在しないエスケープシーケンスだからです。
✅ 正しくは:
System.out.println("C:\\Users\\Name");
Java出力結果:
C:\Users\Name
例③:タブで区切って見やすくしたい
System.out.println("名前\t年齢\t出身地");
System.out.println("太郎\t15\t東京");
System.out.println("花子\t14\t大阪");
Java出力結果:
名前 年齢 出身地
太郎 15 東京
花子 14 大阪
タブ(\t)は見やすく整列させたい時に便利です。
まとめ(初心者向けポイント)
| ポイント | 内容 |
|---|---|
| 1️⃣ | 文字列の中で特別な意味を持つ記号を安全に書くための仕組みが「エスケープシーケンス」 |
| 2️⃣ | 改行は \n、タブは \t、引用符は \"、バックスラッシュは \\ |
| 3️⃣ | 実際に出力を見ながら、「どんな見た目になるか」確認すると覚えやすい! |
練習問題
問題1
次のように表示されるように、System.out.println の中を完成させてください。
今日の天気は"晴れ"です。
明日も晴れるといいですね!
➡ ヒント:改行とダブルクォーテーションを使います。
問題2
次のようにタブを使って整列させてください。
科目 点数
国語 80
数学 90
英語 85
問題3
次の文字列をそのまま出力してください(Windowsのフォルダ名を表現)。
C:\Program Files\Java
