プログラミングと相性が悪い文字列というのが存在する。例えば、文字列として「"」を出力したいときなど少々困るはずだ。
このページでは特殊な文字を入力する方法をまとめている。
特殊な文字列を入力するJavaのエスケープシーケンス
Javaの文字と文字列のエスケープシーケンスは、プログラムで予約されている文字、改行やタブなど表示されない文字など表現する。
例えば、文字列リテラルを記述する際には囲み文字として「"」(ダブルコーテーション)を用いる必要がある。もし、ダブルコーテーションで囲まれた文字列の中に「"」を置きたい場合には、どのように記述すればよいのか。そのまま書けばエラーになる。文字列が途中で終わったことになるからだ。
string = “ABC ” DEF”; ←エラーになる。
この場合エスケープシーケンスを使うことができる。
string = “ABC \” DEF”; ←「"」の文字が正しく挿入される。
文字と文字列のためのエスケープシーケンス
以下にエスケープシーケンスによって表される文字を示す。
文字 |
内容 |
エスケープシーケンス |
TAB |
タブ文字 |
\t |
BS |
バックスペース |
\b |
LF |
ラインフィールド(改行) |
\n |
FF |
フォームフィード |
\f |
CR |
キャリッジリターン(復帰) |
\r |
" |
ダブルコーテーション |
\" |
' |
シングルコーテーション |
\' |
\ |
エン |
\\ |
文字 |
16進数文字コードによる文字 |
\u(16進数文字コード) |
エスケープシーケンスのサンプルプログラム
このサンプルプログラムは、エスケープシーケンスをコンソールに表示する。この時、文字列リテラルを用いて変数列に文字を代入する。
1 2 3 4 5 6 7 8 9 10 11 12 |
public class PrintEscapeSequence { public static void main(String[] args) { String SingleQuotation = "ABC \' DEF";//[1] String DoubleQuotation = "ABC \" DEF";//[2] String yen = "ABC \\ DEF";//[3] String linefeed = "ABC \n DEF";//[4] System.out.println("[5] SingleQuotation = " + SingleQuotation); System.out.println("[6] DoubleQuotation = " + DoubleQuotation); System.out.println("[7] yen = " + yen); System.out.println("[8] linefeed = " + linefeed); } } |
実行結果
1 2 3 4 5 |
[5] SingleQuotation = ABC ' DEF [6] DoubleQuotation = ABC " DEF [7] yen = ABC \ DEF [8] linefeed = ABC DEF |
サンプルプログラムの説明
それでは簡単にプログラムの解説をしてゆこう。
- [1] Stringクラスの参照変数SingleQuotationの宣言をし、「ABC \' DEF」を代入する。
- [2] Stringクラスの参照変数DoubleQuotationの宣言をし、「ABC \" DEF」を代入する。
- [3] Stringクラスの参照変数yenの宣言をし、「ABC \\ DEF」を代入する。
- [4] Stringクラスの参照変数linefeedの宣言をし、「ABC \n DEF」を代入する。
- [5] SingleQuotationの値を表示する。
- [6] DoubleQuotationの値を表示する。
- [7] yenの値を表示する。
- [8] linefeedの値を表示する。
まとめ
このページでは特殊な文字列の出力をお伝えした。使い方を押さえておこう。
コメント