0
0

More than 1 year has passed since last update.

<Java学習中>エスケープシーケンス

Posted at

前回はHelloWorldまでの流れで、mainメソッドとは何なのかと文字列の表示について簡単に学びました。

今回はその続きで、表示させる文字列に改行させたりできる特別な文字「エスケープシーケンス」を学びました。

主要なエスケープシーケンスとして、

\n  は改行
\t  は水平タブ(一定の文字数分空白が入力される)
\  は\マークが文末に入力される
\"  はダブルクォーテーションが文末に入力される
\'  はシングルクォーテーションが文末に入力される

の5つがあります。

まずは改行のエスケープシーケンスから実際にやってみると

public class Main {
    public static void main(String[] args) {

        System.out.print("GoodMorning\n"); //ダブルクォーテーション内に入力
        System.out.print("GoodEvening\n");
        System.out.print("GoodAfternoon\n");
    }
実行結果
GoodMorning
GoodEvening
GoodAfternoon

前回のprintlnとprintの違いで改行させるか否かとありましたが、\n のおかげでprintでも改行をすることが出来るようになりました。printとエスケープシーケンスの併用は小回りが利いて便利そうです。

続いては  \t
上のサンプルコードを流用して実行すると

実行結果
GoodMorning GoodEvening GoodAfternoon   

各文字列の間にTabキーを押したように一定の間隔が空いています。

次は  \\

実行結果
GoodMorning\GoodEvening\GoodAfternoon\

バックスラッシュが入りました。
これ要る?と思いましたが、どうやら環境によって"\"か"¥"のどちらかしか入らない場合があるとのこと。文字自体は違いますが役割は同じという事ですね。visualstudioを導入してみて同じキーを押すと、\ の代わりに¥マークが入りました。
もし¥マークのあとにnが入るような場合、改行として扱われてしまうため¥マークをただの文字として入れるためのコマンドみたいです。

次は  \"

実行結果
GoodMorning"GoodEvening"GoodAfternoon"

各文字列の文末にダブルクォーテーションが付きました。
各文字列の文頭にも付けて改行すれば見やすそうですね → System.out.print("\"GoodMorning\"\n");

次は   \'
これはダブルクォーテーションがシングルクォーテーションになっただけでしたので割愛。

続いてテキストブロックというダブルクォーテーションを3つ並ばせて改行を含めた文字列を扱う方法です。

public class Main {
    public static void main(String[] args) {

        System.out.print("""
        Good Morning
        Good Evening
        Good Afternoon
        """);
    }
}
実行結果
Good Morning
Good Evening
Good Afternoon

エスケープシーケンス「\n」を使わなくても改行を含めた文字列の表示が出来ました。都度\nと入力しなくてもよいので見やすい編集が出来そうですね。

まだ他にも8進数や16進数の文字コード入力することで対応する文字を表示させるやり方がありますが、この記事では割愛します。裏で調べて使ってみようと思っています。

今回はここまでです。ありがとうございました!
何かありましたら、ツッコミよろしくお願いします!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0