2020.03.23

文字列の作成と初期化

はじめに

Javaでは、Stringクラス文字列を扱うことができます。

Stringクラス文字列を代入する方法には、文字列リテラル(0文字以上の連続した文字列定数ダブルコーテーション文字列で囲む)を”=”で代入する方法と、newでStringクラスを作成する方法と、char型配列を渡す方法と、byte型配列を渡す方法があります。

	String str1 = "Hello!";
	String str2 = new String( "Hello!" );

Javaソースコード

下記のソースコードは、Stringクラスオブジェクトを初期化して文字列を登録するJavaプログラムの例です。

StringCreate.java

001
002
003
004
005
006
007
008
009
010
011
012
013
014
015
016
017
018
019
020
021
022
023
024
025
026
027
028
029
public class StringCreate {
	public static void main( String[] args ) {
		// Stringクラスのstr1に"Hello!"を格納
		String str1 = "Hello!";

		// Stringクラスのstr2に"Hello!"を格納
		String str2 = new String( "Hello!" );

		// Stringクラスのstr3に"Hello!"を格納(char配列を使う)
		char data[] = {'H', 'e', 'l', 'l', 'o', '!' };
		String str3 = new String( data );

		// Stringクラスのstr4に"Hello!"を格納(byte配列を使う)
		byte codes[] = { 72, 101, 108, 108, 111, 33 };
		String str4 = new String( codes );

		// str1を表示
		System.out.println(  "str1=" + str1 );

		// str2を表示
		System.out.println(  "str2=" + str2 );

		// str3を表示
		System.out.println(  "str3=" + str3 );

		// str4を表示
		System.out.println(  "str4=" + str4 );
	}
}

コンパイル ソースコードが「ANSI」の場合

C:\talavax\javasample>javac -encoding sjis StringCreate.java

コンパイル ソースコードが「UTF-8」の場合

C:\talavax\javasample>javac StringCreate.java

実行

C:\talavax\javasample>java StringCreate

出力結果

str1=Hello!
str2=Hello!
str3=Hello!
str4=Hello!

この結果から、3つの方法で格納した文字列str1とstr2とstr3が同じであることが確認できます。

Javaソースコードの解説

ここからソースを順番に説明していきます。

001
public class StringCreate {

クラス名を、StringCreateとしています。

002
	public static void main( String[] args ) {

このmainメソッドからプログラムを実行します。

003
004
		// Stringクラスのstr1に"Hello!"を格納
		String str1 = "Hello!";

Stringクラスstr1に、文字列"Hello!"を"="を使って格納しています。Stringクラスはnew演算子を使わずにオブジェクトを作ることができます。

006
007
		// Stringクラスのstr2に"Hello!"を格納
		String str2 = new String( "Hello!" );

Stringクラスstr2に、文字列"Hello!"をnew演算子を使って格納しています。Stringクラスはnew演算子を使ってオブジェクトを作ることもできますが"="を使うことが一般的です。

009
010
011
		// Stringクラスのstr3に"Hello!"を格納(char配列を使う)
		char data[] = {'H', 'e', 'l', 'l', 'o', '!' };
		String str3 = new String( data );

Stringクラスstr3に、文字列"Hello!"をnew演算子を使って格納しています。この場合は、char型配列の値から文字列を作成しています。文字コードから文字列を作るときは、この方法を使います。

013
014
015
		// Stringクラスのstr4に"Hello!"を格納(byte配列を使う)
		byte codes[] = { 72, 101, 108, 108, 111, 33 };
		String str4 = new String( codes );

Stringクラスstr4に、文字列"Hello!"をnew演算子を使って格納しています。この場合は、byte型配列の値から文字列を作成しています。文字コードから文字列を作るときは、この方法を使います。ここで代入している数字は"Hello!"のASCIIコードです。

017
018
019
020
021
022
023
024
025
026
027
		// str1を表示
		System.out.println(  "str1=" + str1 );

		// str2を表示
		System.out.println(  "str2=" + str2 );

		// str3を表示
		System.out.println(  "str3=" + str3 );

		// str4を表示
		System.out.println(  "str4=" + str4 );

str1とstr2とstr3とstr4をprintlnメソッドコンソール出力しています。

以上です。

関連コンテンツ

StringクラスとStringBuilderクラスを利用したプログラミングの仕方を紹介しています。

2016.12.16

文字列の2進数を、int型の整数に変換する方法を詳しく解説しています。

2020.11.02

数値しか扱えないコンピュータでどうやって文字を記憶、処理しているのかを説明しています。興味のある方は、記事をご覧ください。

2020.03.23

文字列を構成する文字コードをbyte型の配列に格納する方法を解説しています。是非、ご覧ください。

2020.10.29

Javaの学習に役立つソースコードを多数紹介しています。是非、ご覧ください。

2022.09.10

Javaを使った簡単な応用プログラム(生年月日から年齢を計算プログラムなど)を紹介しています。

2022.07.07

プログラミング、ITに関する用語をまとめています。

2022.10.17

変数やクラスに格納されている値をコンソール出力する方法は?

2020.03.23

プログラムの最初に実行されるメソッドは?

2022.12.13

プログラミングで使う変数って何?

2020.03.23

Javaのプログラムを書いてみませんか?プログラムの書き方をくわしく説明しています。

2020.03.23

「Javaソースコード」から実行可能な「オブジェクトコード」に変換する方法をくわしく説明しています。

2020.03.23

Javaのプログラムを作ってみませんか?プログラミングに必要なものの用意から実行までを説明しています。

2020.03.23

Swingパッケージを使ってグラフィック表示を行う方法を解説しています。

2020.03.23

画像フォーマット形式・色・大きさ・傾きなどの変更、特定の図形(文字・記号など)を見つけたり、取り出したりする画像処理について詳しく解説。

2015.11.29

繰り返し処理を使ったJavaのソースコードサンプルを紹介しています。

2020.03.23

配列を使うJavaソースコードを多数紹介しています。

2021.05.18

数学に関係するJavaのメソッドやソースコードなどを紹介しています。

2022.10.25

三角形、台形、円などいろいろな図形の面積を計算するプログラムを紹介しています。詳しくは、記事をご覧ください。

2021.05.18

日本で使われてきた伝統文様「和柄」について解説しています。

2022.07.27

プログラミング言語とは?種類や特徴について説明しています。

2022.08.03

同じ型の変数(データ)を複数個まとめて管理するデータの持ちかたがあります。これが配列です。くわしくは、記事をご覧ください。

2016.01.14

特殊文字を表す方法は?

2024.08.16

リテラル(literal)の意味を説明しています。興味がある方は是非ご覧ください。

2020.03.23

オブジェクト指向の考え方を、Javaのソースコードを使って詳しく解説しています。興味のある方は、是非ご覧ください。

2022.09.02

Javaプログラムの構成について解説しています。詳しくは、こちらをご覧ください。

2020.03.23

アスキーコードは、ASCIIコーコンピュータで扱う"文字"と"文字に割り当てられた番号"を対応させた表の1つです。

2020.11.01

「ゆるゆるプログラム」のコンテンツを紹介しています。興味のある方はこの記事をご覧ください。

2020.03.23

広告