Java で「エスケープが必要な文字」とは、文字列や文字リテラル内で特別な意味を持つ文字、または直接書けない制御文字や特殊記号のことです。これらはそのまま書くと文法エラーになったり、意図しない挙動を引き起こすため、バックスラッシュ(\)を使ってエスケープする必要があります。
Contents
✅ エスケープが必要な文字(Java)
1. 制御文字
| 文字 | エスケープ | 意味 |
|---|---|---|
| 改行 | \n |
Line Feed(LF) |
| 復帰 | \r |
Carriage Return(CR) |
| タブ | \t |
水平タブ |
| バックスペース | \b |
Backspace |
| フォームフィード | \f |
改ページ |
2. 構文上特別な意味を持つ文字
| 文字 | エスケープ | 用途/理由 |
|---|---|---|
" |
\" |
文字列リテラルの区切り |
' |
\' |
文字リテラルの区切り(char型) |
\ |
\\ |
エスケープ文字そのもの(バックスラッシュ) |
3. Unicode エスケープ
| 書き方 | 意味 |
|---|---|
\uXXXX |
Unicodeの文字を16進で表現(例:'\u3042' → ‘あ’) |
⚠️ \u エスケープはコンパイル前に処理されるため、コメント内でも作用してしまう点に注意。
❗ エスケープしないとどうなる?
以下のコードはコンパイルエラーになります:
✅ 正しくは:
🔍 例:エスケープが必要な場面
✅ エスケープが不要な文字
-
アルファベットや数字(
a-z,A-Z,0-9) -
ほとんどの記号(
,、!、@、+など)
これらは通常の文字列リテラル内にそのまま書いてOKです。
💡 まとめ
| 種類 | エスケープ例 | 理由 |
|---|---|---|
| 制御文字 | \n, \t |
改行やタブなど見えない文字 |
| 特殊記号 | \", \\ |
構文上の記号を文字として扱う |
| Unicode文字 | \uXXXX |
全てのUnicode文字に対応 |

Javaの記事の一覧はJava にまとめてあります
