2019/02/06
sponsored link
エスケープシーケンス一覧
エスケープシーケンス | 出力されるもの |
---|---|
¥” | “ |
¥’ | ‘ |
¥¥ | ¥ |
¥n | (改行) |
¥t | (タブ) |
¥b | (バックスペース記号?) |
¥r | (復帰記号?) |
¥f | (改ページ記号?) |
¥0 | (NULL?) |
¥001 | (8進数の文字コードで表わされる文字) |
¥u0001 | (16進数の文字コードで表わされる文字) |
エスケープシーケンスを使わなければならない理由
Javaでは文字列は「”」ダブルクォーテーションで囲うというルールがあります。
System.out.print("あ");
これで「あ」という文字列(文字)が出力されます。
このルールに従って、もし「”」ダブルクォーテーションを文字として出力しようとすると、
System.out.print(""");
こんな風にダブルクォーテーションが3つ続くことになってしまいます。
これではコンパイルが通りません。なぜなら、
System.out.print(""");
プログラム内で「”」は文字列の開始点と終了点としか認識してもらえないので、二つ目の「”」で文字列を閉じてしまって(終了点)、三つ目の「”」はプログラム上、無駄で無意味なだけでなく、そこに存在してはならない邪魔な記号になってしまうからです。
では、「”」を文字として出力するにはどうしたらいいのか?
System.out.print("¥"");
「”」の前に「¥」をつけることで、プログラム上の文字列の開始点と終了点を意味する「”」ではなく、ただの文字としての「”」を表すようになります。
このように普通には表現できない文字を、前に「¥」をつけることによって、表したものをエスケープシーケンスと言います。
エスケープシーケンスを表す記号「¥」
じゃあもし、「¥”」っていう文字を出力したかったらどうするの?
と思った方は頭の回転が早いですね。
「¥”」と出力したくて、
System.out.print("¥"");
とやっても、出力されるのは「”」だけですもんね。
もし「¥」という文字を出力しようとして、
System.out.print("¥");
とやっても、残念ながら「¥」は出力されません(これではコンパイルエラーになります)。
実は、「”」がプログラム内では文字列の開始点、終了点でしかないように、「¥」はエスケープシーケンスを表す記号でしかないんです。
つまり、「”」という文字をエスケープシーケンスで出力しなければならないように、「¥」という文字もエスケープシーケンスで出力しなければならないわけです。
「”」のエスケープシーケンスが「¥”」とするのと同じように、「¥」のエスケープシーケンスは「¥¥」です。
System.out.print("¥¥");
↑これで「¥」という文字を出力することができます。
なのでもし、「¥100」という文字を出力しようと思ったら、
System.out.print("¥¥100");
とする必要があるので気をつけましょう。
覚えておくべきエスケープシーケンス
エスケープシーケンス | 出力されるもの |
---|---|
¥” | “ |
¥’ | ‘ |
¥¥ | ¥ |
¥n | (改行) |
¥t | (タブ) |
一番上の一覧表のように他にもありますが、とりあえず、この5つを覚えておけば問題ないと思います。というか他のやつは個人的にはなんのこっちゃ分かりません。(笑)
今だけ→転職できなければ全額返金の「エンジニア転職保証コース」
絶対エンジニアになる!→テックエキスパート
フリーランスエンジニアの収入例を見てみる→レバテックフリーランス