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);
}
}