マンガで分かる Java入門講座

第6章 文字列と配列
6-6. 文字列2 文字列の連結

文字列の連結処理について、注意点と共に紹介します。

● 文字列の連結

 文字列は「+(プラス)」で連結できます。文字列は、変数の状態でも、ソースコードに直接書いてある場合でも構いません。また代入演算子も使えます。

ソースコード)変数を利用して連結
String s1 = "私は";
String s2 = "天才";
String s3 = s1 + s2;     // 変数s3の値は「私は天才」
System.out.println(s3);  // 「私は天才」と出力

ソースコード)文字列を直接連結させてもよい
String s1 = "私は";
String s2 = s1 + "天才";      // 変数s2の値は「私は天才」
System.out.println(s2);       // 「私は天才」と出力

String s3 = "私は" + "天才";  // 変数s3の値は「私は天才」
System.out.println(s3);       // 「私は天才」と出力

ソースコード)代入演算子も使える
String s = "私は";
s += "天才";  // 変数sの値は「私は天才」
System.out.println(s);  // 「私は天才」と出力

● 文字列と数値の連結

 文字列の連結式の中に数値があれば、数値を文字列に変換したあと連結されます。

 また、演算子の計算は左から右に順番に行われていきます。

説明)文字列と数値の連結
String s = "私は" + 16 + "歳";
↓
String s = "私は16" + "歳";
↓
String s = "私は16歳";

ソースコード)文字列と数値の連結
String s = "私は" + 16 + "歳";
System.out.println(s);  // 「私は16歳」と出力

説明)左から順番に連結
String s = "私は" + 16 + 1 + "歳";
↓
String s = "私は16" + 1 + "歳";
↓
String s = "私は161" + "歳";
↓
String s = "私は161歳";

ソースコード)左から順番に連結
String s = "私は" + 16 + 1 + "歳";
System.out.println(s);  // 「私は161歳」と出力

説明)文字列が含まれない数値同士なら数値の加算
String s = 9 + 9 + "点";
↓
String s = 18 + "点";
↓
String s = "18点";

ソースコード)文字列が含まれない数値同士なら数値の加算
String s = 9 + 9 + "点";
System.out.println(s);  // 「18点」と出力

● 括弧を使い優先順位を変更

 もし、文字列の連結式の途中で、数値を計算させたい場合は(たとえば足し算の結果を文字列にしたいなどの場合は)、「( )」で囲い、その中に計算式を書きます。

説明)括弧を使い優先順位を変更1
String s = 9 + (9 + "点");
↓
String s = 9 + "9点";
↓
String s = "99点";

ソースコード)括弧を使い優先順位を変更1
String s = 9 + (9 + "点");
System.out.println(s);  // 「99点」と出力

説明)括弧を使い優先順位を変更2
String s = "私は" + (16 + 1) + "歳";
↓
String s = "私は" + 17 + "歳";
↓
String s = "私は17" + "歳";
↓
String s = "私は17歳";

ソースコード)括弧を使い優先順位を変更2
String s = "私は" + (16 + 1) + "歳";
System.out.println(s);  // 「私は17歳」と出力

この講座のマンガ部分は「箱人形マンガ(Box Comic) 」で作成しています。
作成:2013/05/25  更新:2015/08/09  [Permalink]