javaの文字列の足し算

javaの文字列の足し算

オラクルのjava silverの最初のほうに出てくる可能性がある問題です。

String str1 = "Hello" + "World";
System.out.println(str1); // 実行結果→Hello World
String str2 = "1" + "2" + "3";
System.out.println(str2); // 実行結果→123
String str3 = 1 + 2 + "3";
System.out.println(str3); // 実行結果→33
String str4 = "1" + 2 + 3;
System.out.println(str4); // 実行結果→123
String str5 = "1" + (2 + 3);
System.out.println(str5); // 実行結果→15

基本は左からの足し算です。

文字列 + 文字列 = 文字列
数値 + 文字列 = 文字列


String str2 = “1” + “2” + “3”;は、文字列同士の足し算なので結果は123の文字列です。

String str3 = 1 + 2 + “3”;は、最初に数値の1+2が実行されます。
その後に数値の3と文字列の”3″が足し算されて、結果は33になります。

String str5 = “1” + (2 + 3);は、カッコが優先されますので、数値の(2+3)を先に行い、
文字列の”1″と数値の5を足すので、結果は15になります。

では、最後に少し長いもので考えてみましょう。

String str6 = 1 + 2 + 3 + "1" + 2 + 3 + "1" + 2;
System.out.println(str6);


よかったら実行結果を予想してみてください。

ここからは解説していきます。



覚えていてほしいことは

文字列 + 文字列 = 文字列
数値 + 文字列 = 文字列


です。

そして計算は基本左からだということです。
* ()の式が最優先。次にかけ算や割り算。そして足し算引き算。普通の計算と同じです。

では、順番に見てみましょう。

String str6 = 1 + 2 + 3 + “1” + 2 + 3 + “1” + 2;

左から順番に
数値の1+ 数値の2 = 数値の3
数値の3 + 数値の3 = 数値の6
数値の6 + 文字列の1 = 文字列の61
文字列の61 + 数値の2 = 文字列の612
文字列の612 + 数値の3 = 文字列の6123
文字列の6123 + 文字列の1 = 文字列の61231
文字列の61231 + 文字列の2 = 文字列の612312

実行結果は「612312」でした。

途中でややこしくなりますね。

文字列が混じるとそれ以降はくっつける作業になります。
数値 + 文字列 = 文字列
を忘れずに。

実際に試して遊んでみてください。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

目次