Javaのエスケープシーケンスをマスターしよう!表示のズレに困ったらこれ!

こんにちは。ゆうせいです。

今回は、Javaで文字列を画面に表示するときに役立つ「エスケープシーケンス」について、初心者向けにやさしく解説します。

HelloWorldの間に改行を入れたい」
そんなとき、どう書いたらいいと思いますか?


エスケープシーケンスとは何か?

「逃がす」ってどういうこと?

**エスケープシーケンス(escape sequence)**とは、
**通常とは違う意味で文字を使いたいときの“特別な記号”**です。

キーワードは「逃がす」です。
本来はただの文字として処理されるものに、特別な意味を与えるために使われます。

例えば "Hello\nWorld"\n
この「\n」がエスケープシーケンスで、改行を意味するんです。


例:改行を入れたいとき

public class Example12 {
    public static void main(String[] args) {
        System.out.println("Hello\nWorld");
    }
}

実行結果

Hello
World

このように、「Hello」と「World」の間に改行が入るわけです!


よく使うエスケープシーケンス一覧

エスケープシーケンス意味出力例
\n改行改行して次の行に移動
\t水平タブ(空白)表示位置が右にずれる
\'シングルクォート' を文字列の中で使える
\"ダブルクォート" を文字列の中で使える
\\バックスラッシュ\ を表示できる

どれも「バックスラッシュ(\)」から始まるのが特徴です!


日本のWindows環境では「\」が「¥」に見える?

そうなんです。混乱の元ですが、フォントと環境の違いによって見た目が変わります。

なぜ「¥」に見えるのか?

  • 日本語Windowsでは、「\(バックスラッシュ)」が「(円記号)」で表示される
  • これはMS-DOS時代からの仕様の名残
  • 内部的には同じ文字(Unicode:U+005C)ですが、見た目だけ違うのです!

「ろ」キーで打つあの文字が、Javaでは\なんですよ!


サンプル:ダブルクォートを表示したい

public class Example13 {
    public static void main(String[] args) {
        String str1 = "\"special\"price:";
        System.out.print(str1);
    }
}

実行結果

"special"price:

普通に "special" と書くと、文法エラーになりますが、エスケープすればOK!


エスケープシーケンスを使う場面とは?

よくあるシーン

  • 改行を入れたい(\n
  • スペースを揃えたい(\t
  • クォート記号を表示したい(\"\'
  • 文字列中に「\」を表示したい(\\

よくある間違い

System.out.println("これは間違い"です"); // NG
System.out.println("これは\"正しい\"です"); // OK


覚え方のコツ

エスケープシーケンス覚え方のヒント
\nn = newline(改行)
\tt = tab(タブ)
\"クォートの表示には \ が必要
\\\ をもう一度書く必要がある

まとめ:エスケープシーケンスは表示のコントロール装置!

エスケープシーケンスは、見た目や出力の細かな制御を可能にする便利な道具です。
Javaで出力がうまくいかないときは、「表示されない制御文字が原因かも?」と疑ってみましょう。


今後の学習の指針

次に学ぶとよいテーマとしては、

  • 文字列の結合と整形
  • printfやformatによる出力のフォーマット
  • 正規表現(エスケープシーケンスを多用します!)

表示トラブルに強いエンジニアになるためには、見えない文字の動きを理解することが近道です!

ぜひ、サンプルコードをいろいろ書き換えて、表示の変化を試してみてください!


セイ・コンサルティング・グループの新人エンジニア研修のメニューへのリンク

投稿者プロフィール

山崎講師
山崎講師代表取締役
セイ・コンサルティング・グループ株式会社代表取締役。
岐阜県出身。
2000年創業、2004年会社設立。
IT企業向け人材育成研修歴業界歴20年以上。
すべての無駄を省いた費用対効果の高い「筋肉質」な研修を提供します!
この記事に間違い等ありましたらぜひお知らせください。