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 にまとめてあります