このチュートリアルでは、Java で文字列を操作する方法を学びます。プログラミングで広く使用されている文字列は、一連の文字です。Java プログラミング言語では、文字列はオブジェクトです。Java プラットフォームは、文字列を作成および操作するためのクラスを提供します
String
。
文字列の作成
文字列を作成する最も簡単な方法は次のようになります。String greeting = "Hello world!";
この場合、「Hello World!」は、引用符で囲まれた一連の文字で構成される文字列リテラル (つまり、定数) です。コンパイラーは文字列リテラルを検出すると、String
値 (この場合は「Hello World!」) を持つ型のオブジェクトを作成します。他のオブジェクトと同様に、キーワード を使用して文字列を作成できますnew
。このクラスには、文字配列String
などのさまざまなソースを使用してオブジェクトを作成できる 3 つのコンストラクターがあります。
char[] helloArray = {'h', 'e', 'l', 'l', 'o', '.'};
String helloString = new String(helloArray);
System.out.println(helloString);
例の最後の行は、画面にhelloを出力します。クラスString
は不変であるため、オブジェクトを作成した後は変更できません。以下で説明するいくつかの方法でこれを解決できます。なぜなら String
不変であるため、これらのメソッドは操作の結果を含む新しい文字列を作成して返します。
Java文字列の長さ
文字列に関する情報を取得するメソッドはアクセス メソッドと呼ばれます。これらの方法の 1 つlength()
。文字列内の文字数を返します。次の例ではlen
17 になります。
String palindrome = "Dont saw I saw Tod";
int len = palindrome.length();
変数にpalindrome
は回文が含まれています。どちらの方向でも同じように読める単語または文。回文を逆にする小さなプログラムを書いてみましょう。メソッドを使用しますcharAt(i)
。このメソッドは、で始まる文字列のi0
番目の文字を返します。
public class StringDemo {
public static void main(String[] args) {
String palindrome = "Dot saw I was Tod";
int len = palindrome.length();
char[] tempCharArray = new char[len];
char[] charArray = new char[len];
//создадим из строки
// массив символов
for (int i = 0; i < len; i++) {
tempCharArray[i] =
palindrome.charAt(i);
}
// перевернем массив символов
for (int j = 0; j < len; j++) {
charArray[j] =
tempCharArray[len - 1 - j];
}
String reversePalindrome =
new String(charArray);
System.out.println(reversePalindrome);
}
}
プログラムは印刷します
doT saw I was toD
文字列を反転するには、まず文字列から文字の配列を作成し (最初のループ)、次に新しい配列を作成し、そこに反転した最初の配列を書き込んでから、新しい文字列を作成します。このクラスには文字の配列を返すString
メソッドが含まれているgetChars()
ため、最初のループは次の行に置き換えることができます。
palindrome.getChars(0, len, tempCharArray, 0);
文字列の連結
このクラスは、String
2 つの文字列を連結するメソッドを実装します。
string1.concat(string2);
string1
このコードは、を含む 新しい文字列を返しますstring2
。このメソッドは文字列リテラルでも使用できます。
"My name is ".concat("Rumplestiltskin");
ほとんどの場合、文字列は「+
」演算子を使用して結合されます。例:
"Hello," + " world" + "!"
結果は文字列「Hello, world!」になります。」" +
" 演算子は、次のような情報を表示するために広く使用されています。
String string1 = "saw I was ";
System.out.println("Dot " + string1 + "Tod");
コードは「Dot saw I was Tod」を出力します。このような連結は、他のオブジェクトと組み合わせて使用できます。文字列ではないオブジェクトの場合は、 メソッドが呼び出されtoString()
、オブジェクトが文字列に変換されます。 文字列出力形式の設定数値の出力を形式設定するprintf()
ときの メソッドについてはすでに説明しました。format()
このクラスには、String
文字列を返す同様のメソッドがあります。静的メソッドを使用すると、format()
再利用できるストック テンプレートを作成できます。たとえば、次のようになります。
System.out.printf ("The value of the float " +
"variable is %f, while " +
"the value of the " +
"integer variable is %d, "
"and the string is %s",
floatVar, intVar, stringVar);
このコードを使用できます:
String fs;
fs = String.format("The value of the float " +
"variable is %f, while " +
"the value of the " +
"integer variable is %d, " +
" and the string is %s",
froatVar, intVar, stringVar);
System.out.println(fs);
それだけです!:) ソースへのリンク: Java の文字列
GO TO FULL VERSION