文字列の連結

値の演算には「+-*/」演算子を使って四則演算ができますが、例えば”おはよう”と”ございます”を繋げる場合(これを「文字列の結合」といいます)にも、演算子を使います。今回は文字列の結合について説明します。

文字列の結合 目次

  1. 文字列の結合とは
  2. 変数と文字列を結合する
  3. 変数同士の結合
  4. 文字列と文字列以外の結合
  5. System.out.printlnの中で直接指定

1.文字列の結合とは

文字列の結合とは、例えば”おはよう”と”ございます”という2つの文字列を繋いで、”おはようございます”という1つの文字列にすることを言います。このように文字列と文字列を結合する際には、「文字列結合演算子」という演算子を使用します。

文字列結合演算子は「+」記号を使用し、文字列と文字列の間に「+」を置きます。

文字列 + 文字列

package pac01;

public class HelloWorld {
	public static void main(String[] args) {
		String strHensu1;

		strHensu1 = "おはよう" + "ございます";
		System.out.println(strHensu1);
	}
}
----------------------------------------------------------------
おはようございます

文字列の結合

2.変数と文字列を結合する

先の例では、直接文字列同士を結合しましたが、文字列が格納された変数と文字列(または変数同士)を結合する際も、同じように使用できます。

package pac01;

public class HelloWorld {
	public static void main(String[] args) {
		String strHensu1;
		String strHensu2;

		strHensu1 = "おはよう" + "ございます";
		strHensu2 = strHensu1 + "こんにちは";
		
		System.out.println(strHensu2);
	}
}
----------------------------------------------------------------
おはようございますこんにちは

変数と文字列の結合

strHensu1には”おはようございます”が格納されており、そのstrHensu1と”こんにちは”を結合して、「おはようございますこんにちは」という1つの文字列にしています。

3.変数同士の結合

変数同士で文字列結合することも可能です。

package pac01;

public class HelloWorld {
	public static void main(String[] args) {
		String strHensu1 = "おはよう";
		String strHensu2 = "ございます";
		String strHensu3;
		
		strHensu3 = strHensu1 + strHensu2;
		
		System.out.println(strHensu3);
	}
}
------------------------------------------------------------------
おはようございます

変数同士の結合

7行目では、10 – 2 の結果をintHensu1に代入しています。11行目では、intHensu1の値に1を減算した結果を、再度intHensu1に代入しています。

4.文字列と文字列以外の結合

文字列と文字列以外の値を結合をするには注意が必要です。

package pac01;

public class HelloWorld {
	public static void main(String[] args) {
		String strHensu1;

		strHensu1 = "1" + "2";
		System.out.println(strHensu1);

		strHensu1 = "おはよう" + "2";
		System.out.println(strHensu1);
		
		strHensu1 = "おはよう" + 2;
		System.out.println(strHensu1);				
	}
}
------------------------------------------------------------------
12
おはよう2
おはよう2

文字列と文字列以外の結合

7行目では、”1″という文字列と”2″という文字列(数字)として結合していますので、結果は”12″となっています。10行目では、”おはよう”という文字列と”2″という文字列(数字)を結合しているので、結果は”おはよう12″となっています。

ここまではなんとなく分かると思いますが、13行目では、2はダブルコーテーションで囲んでいないので、パッとみれば数値と見なせます。しかし、「”おはよう” + 」というコードがあるので、これは文字列結合なんだ、と解釈されるので2も文字列結合されることになります。

これは、文字列結合演算子が持つ特性で、文字列と他のどんな型のデータでも文字列結合できるようになっています。int型やboolean型の変数とも文字列結合ができてしまいます。

package pac01;

public class HelloWorld {
	public static void main(String[] args) {
		String strHensu1;
		int intHensu2 = 10;
		boolean blnHensu3 = true;

		strHensu1 = "おはよう" + intHensu2 + blnHensu3;
		System.out.println(strHensu1);
			
	}
}
------------------------------------------------------------------
おはよう10true

文字列と文字列以外の結合2

int型の変数とboolean型の変数を文字列結合していますが、int型の場合は数字そのもの、boolean型の場合はtrueかfalseが文字列として出力されていることが分かります。

5.System.out.printlnの中で直接指定

今までは、System.out.printlnは変数の中身をそのまま出力することしかしていませんでしたが、実はSystem.out.printlnで文字列や結合を行うことができます。

package pac01;

public class HelloWorld {
	public static void main(String[] args) {
		String strHensu1;
		int intHensu2 = 10;
		boolean blnHensu3 = true;

		System.out.println("おはよう" + intHensu2 + blnHensu3);
			
	}
}
------------------------------------------------------------------
おはよう10true

System.out.printlnの中で文字列結合

事前に文字列結合をした結果を変数に格納していたので、System.out.printlnの中に直接記述しても、同じ結果が出力されていることが分かります。

コメントを残す

サブコンテンツ

このページの先頭へ