Java | エスケープシーケンスについて

Java Java
スポンサーリンク

Javaのエスケープシーケンス

「エスケープシーケンス」は、文字列の中にそのまま書けない特殊な文字や動きを入れるための合図です。バックスラッシュ(\)+特定の文字の組み合わせで表します。初心者向けに、よく使うものだけに絞って、手を動かしやすい例で説明します。


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

  • 改行: \n
    文字列の途中で次の行に移ります。
System.out.println("こんにちは\nはじめまして");
// 出力:
// こんにちは
// はじめまして
Java
  • タブ: \t
    文字と文字の間に区切り(広めの空白)を入れます。表っぽく整えるときに便利。
System.out.println("商品名\t価格");
System.out.println("りんご\t120");
// 出力(横にズレて見やすくなる)
// 商品名  価格
// りんご  120
Java
  • ダブルクォート: \"
    文字列の中に「”」を入れたいときに使います(そのままだと文字列の終わりと誤解されます)。
System.out.println("彼は\"Javaが好き\"と言った");
// 出力: 彼は"Javaが好き"と言った
Java
  • シングルクォート: \'
    文字リテラルや文字列の中に「’」を入れたいとき。
System.out.println("今日は\'A\'クラスです");
// 出力: 今日は'A'クラスです
Java
  • バックスラッシュ: \\
    「\」自体を表示したいときに使います(「\」は特別な記号なので2回書く)。
System.out.println("フォルダは C:\\Users\\Tanaka\\Documents");
// 出力: フォルダは C:\Users\Tanaka\Documents
Java
  • キャリッジリターン: \r(補足)
    先頭に戻す制御。単体で使うと環境によって予想外の表示になることがあるため、初心者は基本は使わなくてOK。

なぜ必要?初心者がつまずきやすいポイント

  • 「”」や「\」は特別扱いされる
    文字列の境界や制御記号に使われるため、そのまま入れるとエラーや意図しない動作になります。だから「逃がす(=エスケープ)」必要があります。
  • 目に見えない動き(改行・タブ)も文字として扱う
    改行やタブは画面上の「見た目」を整えるための“特殊文字”。キーボードから直接は打てないので記号で表します。

実践ミニ課題

課題1: レシート風に整形

  • 目的: \t\n を使って見やすい出力を作る
public class Main {
  public static void main(String[] args) {
    System.out.println("商品名\t数量\t金額");
    System.out.println("りんご\t2\t240");
    System.out.println("バナナ\t1\t130");
    System.out.println("-------------------");
    System.out.println("合計\t\t370");
  }
}
Java
  • ポイント: タブで列を揃え、改行で行を分けると、表風に見える。

課題2: 会話文を表示

  • 目的: \" を使って引用を正しく表示
public class Main {
  public static void main(String[] args) {
    System.out.println("彼女は\"明日は早起きする\"と言った。");
    System.out.println("\"頑張ろう\"と自分に言い聞かせた。");
  }
}
Java
  • ポイント: ダブルクォートを文字列に含めるときは \"。そのまま書くと文字列の終わりと誤認される。

課題3: Windows風のパス表示

  • 目的: \\ を使ってバックスラッシュを正しく表示
public class Main {
  public static void main(String[] args) {
    System.out.println("保存先: C:\\Users\\You\\Desktop\\notes.txt");
  }
}
Java
  • ポイント: バックスラッシュは特別な記号なので、実際に表示したいときは2回書く。

よくあるエラーと対策

  • ダブルクォートの閉じ忘れ
    例: System.out.println("彼は"Java"が好き"); → NG
    対策: 引用部は \"Java\" のようにエスケープする。
  • バックスラッシュ1個だけ
    例: "C:\Users\You" → NG(\U など未知のシーケンス扱い)
    対策: "C:\\Users\\You" のように \\ を使う。
  • 改行を入れたのに表示が変わらない
    例: 文字列の外に \n を書いた → 効果なし
    対策: 文字列の“中”に \n を入れる(ダブルクォートで囲まれた範囲)。

まずはこれを覚えよう

  • よく使う4つ: \n(改行)、\t(タブ)、\"(ダブルクォート)、\\(バックスラッシュ)
  • 考え方のコツ: 「そのまま打てない・紛らわしい」ものは、\で“逃がす”ものだと覚える
タイトルとURLをコピーしました