Java 速習チュートリアル

Java の特殊文字

1. 文字列における特殊文字とエスケープ文字

Javaでは文字列(String)をダブルクォーテーション("")で囲む必要があります。そのため、文字列の中に直接ダブルクォーテーションを含めようとすると、Javaは構文を誤認してしまい、コンパイルエラーが発生します。

// これはエラーになります
String txt = "We are the so-called "Vikings" from the north.";

この問題を解決するのが、バックスラッシュ・エスケープ文字です。

バックスラッシュ(\)を使用することで、本来は特殊な意味を持つ文字を、通常の文字列データとして扱うことができます。

エスケープ文字結果説明
\''シングルクォーテーション
\""ダブルクォーテーション
\\\バックスラッシュ

2. エスケープシーケンスの具体例

以下に、バックスラッシュを使用した主要なエスケープ処理のコード例を示します。

2.1 ダブルクォーテーション (\")

\" というシーケンスを使用することで、文字列内にダブルクォーテーションを挿入できます。

String txt = "我々は北から来た、いわゆる \"Vikings\" です。";
// 出力: 我々は北から来た、いわゆる "Vikings" です。

2.2 シングルクォーテーション (\')

\' というシーケンスを使用することで、文字列内にシングルクォーテーションを挿入できます。

String txt = "It\'s alright.(大丈夫です)";
// 出力: It's alright.(大丈夫です)

2.3 バックスラッシュ (\\)

\\ というシーケンスを使用することで、文字列内に1つのバックスラッシュを挿入できます。

String txt = "文字 \\ はバックスラッシュと呼ばれます。";
// 出力: 文字 \ はバックスラッシュと呼ばれます。

3. その他の一般的な制御文字

Javaでは、テキストのフォーマットを制御するためのエスケープシーケンスも用意されています。

コード結果
\n改行 (New Line)
\tタブ (Tab)
\bバックスペース (Backspace)
\rキャリッジリターン (Carriage Return)
\fフォームフィード (Form Feed)

       エンジニア向けの補足: 現代のプログラミングにおいて、これらの多くが使われる機会は少なくなっています。実務で最も頻繁に利用されるのは、\n(改行)\"(ダブルクォーテーション)\\(バックスラッシュ)の3つです。

3.1 改行とタブのコード例

public class Main {
  public static void main(String[] args) {
    // 改行の例
    String lineBreak = "Hello\nWorld";
    System.out.println(lineBreak);

    // タブの例
    String tabSpace = "Name:\tJohn";
    System.out.println(tabSpace);
  }
}