基本形
文字列を扱うString
はjava.lang.Object
を継承したクラスだが、リテラルの書き方が用意されている。
文字列リテラルは文字列をダブルクォート("
)で囲む。
1 2 3 |
System.out.println("ABCいろは"); // ABCいろは |
文字列は1文字でもよく、1文字も含まない空文字列(長さゼロで内容がない文字列)でもよい。
1 2 3 4 5 |
System.out.println("い"); System.out.println(""); // い // |
エスケープ
文字列リテラル中でバックスラッシュ(\
、¥記号)は特別な意味を持ち、その直後の文字でエスケープ文字の種類があらわされる。
たとえば\t
はタブ、\n
は改行。
1 2 3 4 |
System.out.println("タブ\tと\n改行"); // タブ と // 改行 |
\uhhhh
はユニコードエスケープ。
1 2 3 |
System.out.println("\u0041\u0042\u0043\u3044\u308d\u306f"); // ABCいろは |
シングルクォート('
)は文字列リテラル中でそのまま使えるが、ダブルクォート("
)はエスケープする必要がある。
1 2 3 4 5 |
System.out.println("Say 'Hello!'"); System.out.println("Say \"Hello!\""); // Say 'Hello!' // Say "Hello!" |
エスケープ記号自体を使いたいときは\でエスケープする(2つ並べる)。
1 2 3 |
System.out.println("バックスラッシュ記号:\\"); // バックスラッシュ記号:\ |
変数展開・値の埋め込み
Javaには多言語のように文字列中で変数展開する機能は備えられていない。
変数の値を文字列に入れるには、文字列結合の演算子(+
)を使うか、String.format()
メソッドを使う。