補足記事

文字列と数値の足し算(連結)

Javaの「+」は、数値を足す時にも文字列をつなぐ時にも使います。文字列と数値が混ざった式ではどうなるのか、簡単な例で確かめてみましょう。

数値と数値

「数値 + 数値」の場合は、普通の足し算として評価されます。

式評価した結果
5 + 813

文字列と文字列

「文字列 + 文字列」の場合は、文字を後ろに連結する形で評価されます。

式評価した結果
"郵便" + "番号""郵便番号"

数字もダブルクォーテーションで囲えば、数値としてではなくただの文字列としての数字になるので、こんな連結もあります(足し算にはならないので注意)。

式評価した結果
"3" + "5""35"

数値と文字列

数値と文字列を「+」することもできます。その際の法則について説明します。

まず、文字列と数値を足す場合、数値は文字列に変換されてから連結されます。数値と文字列のどちらが前でも、このルールは同じです。

式評価した結果
3 + "5""35"
"3" + 5"35"

ただしちょっとややこしいのが、「+」演算子が複数ある「数値 + 数値 + 文字列」などの場合です。けど実は全然ややこしくないです。押さえるポイントはただ一つ、「+」が続く式は、左側から順番に一つずつ評価する。これだけです。一気につなげようとするからややこしいんです。

式評価した結果
3 + "5" + "歳""35歳"
"3" + 5 + "歳""35歳"
3 + 5 + "歳""8歳"
"今年で" + 3 + 5 + "歳""今年で35歳"

一番下の例で言うと、まず一番左側の「"今年で" + 3」を評価するので、「"今年で3"」に置き換わって、そこに5を足して……という風に一つずつ順番にやっていけばいいだけです。

左から一つずつ連結していく
  1. "今年で" + 3 + 5 + "歳"
    3を文字列に変換して連結
  2. "今年で3" + 5 + "歳"
    5も文字列に変換して連結
  3. "今年で35" + "歳"
    最後に「歳」を連結
  4. "今年で35歳"

優先させたい数値同士の足し算がある場合は、そこを( )で囲ってあげれば、先に計算してくれます。

式評価した結果
"今年で" + (3 + 5) + "歳""今年で8歳"

この法則さえ分かっていたら、文字列と数値の「+」はOKです!

全講座の目次へ戻る

質問・コメント

0件

この記事についての質問や、学習して気づいたことをお寄せください。

コメントを書く

コメントの受付は準備中です。入力しても送信・保存されません。

コメントと一緒に公開される名前です。
3,000文字以内。パスワードなどの個人情報は書き込まないでください。

コメントは管理者の承認後に公開されます。

この記事のコメント

まだコメントはありません。

受付開始後、承認されたコメントがここに表示されます。