手を動かして学ぶ Java入門 (文字列の連結)
環境構築不要! ブラウザから直接コードを実行できます。
 本記事では、Java で文字列を連結する方法について学びます。
10分くらいで、さくっと終わる記事をめざしています。
シリーズ一覧
- シリーズ 
        
- 手を動かして学ぶ Java入門 (Hello world 編)
 - 手を動かして学ぶ Java入門 (数値と演算)
 - 手を動かして学ぶ Java入門 (数値と変数)
 - 手を動かして学ぶ Java入門 (コメントの書き方)
 - 手を動かして学ぶ Java入門 (文と式の違い)
 - 手を動かして学ぶ Java入門 (if文)
 - 手を動かして学ぶ Java入門 (if-else文、if-elseif文)
 - 手を動かして学ぶ Java入門 (文字列の連結)
 - 手を動かして学ぶ Java入門 (while文)
 - 手を動かして学ぶ Java入門 (break文)
 - 手を動かして学ぶ Java入門 (continue文)
 - 手を動かして学ぶ Java入門 (for文)
 - 手を動かして学ぶ Java入門 (クラスの超基本)
 - 手を動かして学ぶ Java入門 (クラス・メソッド)
 - 手を動かして学ぶ Java入門 (クラス・フィールド)
 - 手を動かして学ぶ Java入門 (クラス・コンストラクタ)
 - 手を動かして学ぶ Java入門 (文字列クラス)
 - 手を動かして学ぶ Java入門 (静的メソッド)
 - 手を動かして学ぶ Java入門 (静的フィールド)
 - 手を動かして学ぶ Java入門 (定数の定義)
 - 手を動かして学ぶ Java入門 (クラス継承の超基本)
 - 手を動かして学ぶ Java入門 (メソッドのオーバーライド)
 - 手を動かして学ぶ Java入門 (メソッドのオーバーロード)
 - 手を動かして学ぶ Java入門 (thisキーワード)
 - 手を動かして学ぶ Java入門 (superキーワード)
 - 手を動かして学ぶ Java入門 (抽象クラスと抽象メソッド)
 - 手を動かして学ぶ Java入門 (インタフェースの基本)
 - 手を動かして学ぶ Java入門 (Objectクラス)
 - 手を動かして学ぶ Java入門 (プリミティブ型)
 - 手を動かして学ぶ Java入門 (配列)
 
 
はじめに
この記事は paiza.IO の「Online Java compiler」を利用しています。
 2025/5/27 現在、上記環境の Java バージョンは 18 です。(paiza.IO利用ガイド)
実行したコードは paiza.IO で保存および公開されることがあります。
 そのため、個人情報などの機密性の高い情報は、コードとして入力しないようにご注意ください。
詳細は paiza.IO の利用規約およびプライバシーポリシーをご確認ください。
文字列のおさらい
文字列(もじれつ)は、単語や文章のような、文字の連なったもの。ストリング (string)、テキスト (text) という場合もある。コンピュータ、特にプログラミングの分野で用いることが多い。
文字列とは、"Hello, world!" のような文字の集まりのことをいいます。
 a, b, c, d ... と文字が列のように連なっているからですね。
Java で文字列を書くときには、文字列を " ... " とダブルクォーテーションで囲います。
 ( " ← がダブルクォーテーション )
例えば、次のようなコードです。
"Hello, world!"
 
      そして、文字列を表示するには System.out.println メソッドを使います。
System.out.println("Hello, world!");
 
      「手を動かして学ぶ Java入門 (Hello world 編)」で学んだ内容ですね。
実際に動作を確認してみましょう。
 コードは変更せずに、そのまま「実行(Ctrl-Enter)」ボタンを押してください。
(表示がおかしいときは「コードの再読み込み」ボタンを押してみてください)
いかがでしたでしょうか? 「出力」のところに
Hello, world!
 
      と表示されたら成功です。
文字列の連結
文字列 + 文字列
文字列は + 記号で連結できます。
 例えば、次のようなコードです。
"abc" + "xyz"
 
      また、+ 記号を使えばいくらでも連結できます。
- 文字列 + 文字列 + 文字列 + ...
 
実際にコードで確認してみましょう。
 コードは変更せずに、そのまま「実行(Ctrl-Enter)」ボタンを押してください。
(表示がおかしいときは「コードの再読み込み」ボタンを押してみてください)
いかがでしたでしょうか? 「出力」のところに
abcxyz
ABCDEFGHI
 
      と表示されたら成功です。
文字列 + 数値
「文字列 + 文字列」が連結できることは確認できました。
次は「文字列 + 数値」です。
 これも文字列として連結できます。
例えば、次のようなコードです。
"abc" + 123
 
      さて、上記のコードは「式」です。
"abc" + 123
^^^^^^^^^^^ <-- 式
 
      以前の記事 で学びましたが、「式」は結果を返します。
 その結果は 文字列 になるのでしょうか? それとも 数値 でしょうか?
答えは 文字列 です。
 "abc" + 123 の結果は、文字列の "abc123" になります。
文字列 と 数値 を連結すると、文字列 になるわけですね。
また、数値を直接連結するだけでなく、数値の入った変数も連結できます。
int a = 456;
System.out.println("a = " + a);
 
      こんな感じです。
実際に確認してみましょう。
 結果を予想してから、「実行(Ctrl-Enter)」ボタンを押してください。
(表示がおかしいときは「コードの再読み込み」ボタンを押してみてください)
もう1つ、文字列と数値の連結の例を見てみましょう。
"abc" + 10 + 20
 
      この結果は "abc1020" になります。
+ 記号は左から順番に処理されます。
 そのため、まず "abc" + 10 が連結されて、次に "abc10" + 20 が連結されるわけですね。
もし、+ 記号による処理の順番を変えたい場合は、小かっこ ( ... ) を使います。
 小かっこで囲われた演算が優先して処理されます。
"abc" + (10 + 20)
 
      このように「数値 + 数値」を優先させると、それは足し算として処理されます。
実際にコードで確認してみましょう。
(表示がおかしいときは「コードの再読み込み」ボタンを押してみてください)
応用問題
【問題】
まずは、下記のプログラムをそのまま「実行(Ctrl-Enter)」してみましょう。
 「出力」には 30abc と表示されたはずです。
これは、
10 + 20 + "abc"
 
      の「式」において、+ 記号による演算が左から順番に処理されているためです。
 最初に、数値 として 10 + 20 が処理されるわけですね。
そこで問題です。
この「式」に小かっこである、( と ) だけを書き加えて、「出力」に 1020abc と表示されるようにしてください。
それでは、下のプログラムに小かっこを書き加えて「実行(Ctrl-Enter)」してみましょう。
(表示がおかしいときは「コードの再読み込み」ボタンを押してみてください)
無事に、
1020abc
 
      と出力されましたでしょうか?
もし解けなかった場合は、下記の回答例をご参照ください。
回答例
【コード】
public class Main {
    public static void main(String[] args) {
        System.out.println(10 + (20 + "abc"));
    }
}
 
       【出力】
1020abc
 
      まとめ
Java の文字列は、次のように + 記号で連結できます。
"abc" + "xyz"
 
      また、「文字列 + 文字列」だけでなく「文字列 + 数値」も連結できます。
"abc" + 123
 
      とてもよく使う文法なので、ぜひ身につけて活用していきましょう。
次回は「手を動かして学ぶ Java入門 (while文)」になります。
関連記事
- シリーズ 
        
- 手を動かして学ぶ Java入門 (Hello world 編)
 - 手を動かして学ぶ Java入門 (数値と演算)
 - 手を動かして学ぶ Java入門 (数値と変数)
 - 手を動かして学ぶ Java入門 (コメントの書き方)
 - 手を動かして学ぶ Java入門 (文と式の違い)
 - 手を動かして学ぶ Java入門 (if文)
 - 手を動かして学ぶ Java入門 (if-else文、if-elseif文)
 - 手を動かして学ぶ Java入門 (文字列の連結)
 - 手を動かして学ぶ Java入門 (while文)
 - 手を動かして学ぶ Java入門 (break文)
 - 手を動かして学ぶ Java入門 (continue文)
 - 手を動かして学ぶ Java入門 (for文)
 - 手を動かして学ぶ Java入門 (クラスの超基本)
 - 手を動かして学ぶ Java入門 (クラス・メソッド)
 - 手を動かして学ぶ Java入門 (クラス・フィールド)
 - 手を動かして学ぶ Java入門 (クラス・コンストラクタ)
 - 手を動かして学ぶ Java入門 (文字列クラス)
 - 手を動かして学ぶ Java入門 (静的メソッド)
 - 手を動かして学ぶ Java入門 (静的フィールド)
 - 手を動かして学ぶ Java入門 (定数の定義)
 - 手を動かして学ぶ Java入門 (クラス継承の超基本)
 - 手を動かして学ぶ Java入門 (メソッドのオーバーライド)
 - 手を動かして学ぶ Java入門 (メソッドのオーバーロード)
 - 手を動かして学ぶ Java入門 (thisキーワード)
 - 手を動かして学ぶ Java入門 (superキーワード)
 - 手を動かして学ぶ Java入門 (抽象クラスと抽象メソッド)
 - 手を動かして学ぶ Java入門 (インタフェースの基本)
 - 手を動かして学ぶ Java入門 (Objectクラス)
 - 手を動かして学ぶ Java入門 (プリミティブ型)
 - 手を動かして学ぶ Java入門 (配列)
 
 



