前回は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進数の文字コード入力することで対応する文字を表示させるやり方がありますが、この記事では割愛します。裏で調べて使ってみようと思っています。
今回はここまでです。ありがとうございました!
何かありましたら、ツッコミよろしくお願いします!