文字列操作 Java 例を挙げて

⚡ スマートサマリー

文字列操作 Java は、テキストを文字の配列として表現するStringクラスに依存しており、長さ、indexOf、charAt、compareTo、contains、replace、大文字小文字変換などの組み込みメソッドを提供し、テキストを効率的に処理および変換します。

  • 🔤 弦楽器の基礎知識: A Java Stringは、Objectを継承するStringクラスによって管理される文字の配列です。
  • 連結: 文字列を結合するには、concat() メソッドまたは + 演算子を使用します。どちらの方法でも同じ結果が得られます。
  • 検査方法: length()、indexOf()、およびcharAt()は、サイズ、文字インデックス、および指定された位置にある文字を返します。
  • 🔎 比較と検索: compareTo()、compareToIgnoreCase()、およびcontains()は文字列を比較し、シーケンスの有無をチェックします。
  • 会<XNUMXxEXNUMX><XNUMXxXNUMXF>️️<XNUMXxXNUMXF>️️ 変換: replace()、toLowerCase()、toUpperCase() は、文字列の内容と大文字・小文字を変更します。
  • 🔒 不変性: 文字列はfinal(確定)かつ不変です。JVMは文字列定数プールに文字列を保存します。

文字列操作 Java

文字列とは何か Java?

文字列は文字通り文字の連続です。文字と言いましたか?それはプリミティブデータ型ではありませんか? Javaはい、技術的に言えば、基本的な Java 文字列は基本的に文字の配列です。

したがって、上記の文字列「」ROSE” は次のように表すことができます –

Java String

文字列を使用する理由

現代のコンピューターサイエンスの主な機能の XNUMX つは、人間の言語を処理することです。

数学において数字が重要なのと同様に、言語記号は意味の理解や意思決定において重要です。コンピュータのユーザーには見えないかもしれませんが、コンピュータは電卓と同じくらい正確かつ精密に言語をバックグラウンドで処理しています。ヘルプダイアログは操作手順を示し、メニューは選択肢を提供し、データ表示は言語の状態、エラー、リアルタイムの変更を表示します。

として Java プログラマーにとって、言語を保存および処理するための主要なツールの 1 つは String クラスになります。

文字列構文の例

さて、構文について見ていきましょう。結局のところ、これを記述する必要があるのです。 Java コードではありません。

文字列は文字の配列であり、次のように表されます。

//String is an array of characters
char[] arrSample = {'R', 'O', 'S', 'E'};
String strSample_1 = new String (arrSample);

技術用語で言うと、上の例では文字列は次のように定義されています。

= new (argument);

文字列を配列として記述することは常にはできないので、文字列を次のように定義します。 Java 次のように:

//Representation of String
String strSample_2 = "ROSE";

専門用語では、上記は次のように表されます。

= ;

その 文字列クラス Java 拡張する   オブジェクトクラス。

文字列の連結:

連結とは、XNUMX つ以上の文字列を結合することです。

下の写真を見てください-

文字列構文の例

str1 = “Rock” と str2 = “Star” という XNUMX つの文字列があります。

これら 3 つの文字列を合計すると、strXNUMX= “RockStar” という結果が得られるはずです。

以下のコードスニペットを確認してください。文字列連結を実行する2つの方法が説明されています。

まずは「」を使うことです連結1つ目はStringクラスの「+」メソッドを使用し、2つ目は算術演算子「+」を使用しています。どちらも同じ出力になります。

public class Sample_String{
  public static void main(String[] args){
//String Concatenation
String str1 = "Rock";
String str2 = "Star";
//Method 1 : Using concat
String str3 = str1.concat(str2);
System.out.println(str3);
//Method 2 : Using "+" operator
String str4 = str1 + str2;
System.out.println(str4);
}
}

期待される出力:

RockStar
RockStar

重要 Java 文字列メソッド:

Java 文字列メソッド

聞いてみましょう Java String クラスにいくつかの質問を投げかけて、答えられるかどうかを確認します。

文字列「長さ​​」メソッド

与えられた文字列の長さをどのように判断しますか? 「length」というメソッドを用意しました。長さを調べる必要がある文字列に対してこれを使用します。

public class Sample_String{
  public static void main(String[] args){  //Our sample string for this tutorial
  String str_Sample = "RockStar";
  //Length of a String
  System.out.println("Length of String: " + str_Sample.length());}}

期待される出力:

Length of String: 8

文字列「indexOf」メソッド

長さがわかっている場合、どの文字がどの位置にあるかをどのように見つければよいでしょうか? つまり、キャラクターのインデックスはどうやって見つければよいのでしょうか?

答えはあなた自身です。指定した特定の文字の位置を特定するのに役立つ「indexOf」メソッドがあります。

public class Sample_String{
  public static void main(String[] args){//Character at position
String str_Sample = "RockStar";
System.out.println("Character at position 5: " + str_Sample.charAt(5));
//Index of a given character
System.out.println("Index of character 'S': " + str_Sample.indexOf('S'));}}

期待される出力:

Character at position 5: t
Index of character 'S': 4

文字列「charAt」メソッド

上記の質問と同様に、インデックスが与えられた場合、その位置の文字をどのようにして知ることができますか?

これも簡単です!! 「charAt」メソッドを使用して、検索する文字のインデックスを指定します。

public class Sample_String{
  public static void main(String[] args){//Character at position
String str_Sample = "RockStar";
System.out.println("Character at position 5: " + str_Sample.charAt(5));}}

期待される出力:

Character at position 5: t

文字列「CompareTo」メソッド

何らかのメソッドによって生成された文字列が、検証したいものと等しいかどうかを確認したいですか? XNUMX つの文字列を比較するにはどうすればよいですか?

「compareTo」メソッドを使用して、比較する文字列を指定します。

結果で大文字と小文字を区別したくない場合は、「compareToIgnoreCase」を使用します。

引数文字列がこの文字列と等しい場合、結果の値は 0 になります。 この文字列が辞書順に文字列引数より小さい場合は 0 より小さい値。 この文字列が辞書編集的に文字列引数より大きい場合は 0 より大きい値。

public class Sample_String{
  public static void main(String[] args){//Compare to a String
String str_Sample = "RockStar";
  System.out.println("Compare To 'ROCKSTAR': " + str_Sample.compareTo("rockstar"));
  //Compare to - Ignore case
  System.out.println("Compare To 'ROCKSTAR' - Case Ignored: " + str_Sample.compareToIgnoreCase("ROCKSTAR"));}}

期待される出力:

Compare To 'ROCKSTAR': -32
Compare To 'ROCKSTAR' - Case Ignored: 0

文字列「contain」メソッド

文字列に何が含まれるべきか部分的にはわかっていますが、文字列に指定した一連の文字が含まれているかどうかを確認するにはどうすればよいですか?

「」という方法を使います。含まれています」をクリックして、チェックする文字を指定します。

返品 true この文字列に指定された一連の char 値が含まれている場合にのみ。

public class Sample_String{
  public static void main(String[] args){  //Check if String contains a sequence
String str_Sample = "RockStar";
  System.out.println("Contains sequence 'tar': " + str_Sample.contains("tar"));}}

期待される出力:

Contains sequence 'tar': true

文字列「endsWith」メソッド

文字列が特定のサフィックスで終わっているかどうかを確認するにはどうすればよいですか? またまた答えていただきました。 「endsWith」メソッドを使用し、引数にサフィックスを指定します。

返品 true 引数で表される文字シーケンスが、このオブジェクトで表される文字シーケンスの接尾辞である場合。

public class Sample_String{
  public static void main(String[] args){  //Check if ends with a particular sequence
String str_Sample = "RockStar";
  System.out.println("EndsWith character 'r': " + str_Sample.endsWith("r"));}}

期待される出力:

EndsWith character 'r': true

文字列「replaceAll」および「replaceFirst」メソッド

いくつかの場所で文字列を変更し、文字列のいくつかの部分を置き換えたいのですが?

Java 文字列の Replace、replaceAll、および replaceFirst メソッド。引数で、置換する文字列の部分と置換文字列を指定できます。

public class Sample_String{
  public static void main(String[] args){//Replace Rock with the word Duke
String str_Sample = "RockStar";
System.out.println("Replace 'Rock' with 'Duke': " + str_Sample.replace("Rock", "Duke"));}}

期待される出力:

Replace 'Rock' with 'Duke': DukeStar

String Java 「小文字にする」& Java 「touppercase」メソッド

文字列全体を小文字または大文字で表示したいのですが?

変換する必要がある文字列に対して「toLowercase()」または「ToUpperCase()」メソッドを使用するだけです。

public class Sample_String{
  public static void main(String[] args){//Convert to LowerCase
String str_Sample = "RockStar";
System.out.println("Convert to LowerCase: " + str_Sample.toLowerCase());
//Convert to UpperCase
System.out.println("Convert to UpperCase: " + str_Sample.toUpperCase());}}

期待される出力:

Convert to LowerCase: rockstar
Convert to UpperCase: ROCKSTAR

注意すべき重要なポイント:

  • String は Final クラスです; つまり、一度作成された値は変更できません。 したがって、String オブジェクトは不変と呼ばれます。
  • その Java 仮想マシン(JVM)は、文字列専用のメモリロケーションを作成します。 文字列定数プール。 これが、「new」キーワードなしで String を初期化できる理由です。
  • Stringクラスが以下に該当します java.lang.String 階層ただし、このクラスをインポートする必要はありません。 Java プラットフォームはそれらを自動的に提供します。
  • String 参照はオーバーライドできますが、コンテンツは削除されません; つまり、もし

文字列 h1 = “こんにちは”;

h1 = 「ハロー」+「ワールド」;

その場合、「hello」文字列は削除されません。 ハンドルが失われるだけです。

  • 複数の参照 同じ文字列に使用できますが、 同じ場所に発生する; つまり、もし

文字列 h1 = “こんにちは”;

文字列 h2 = “こんにちは”;

文字列 h3 = “こんにちは”;

この場合、文字列「hello」のプールが 3 つだけ、1 つの参照 (h2、h3、hXNUMX) とともにメモリ内に作成されます。

  • もし 数字は「」内に引用されています それから 文字列になります、もはや数字ではありません。 つまり、もし

文字列 S1 ="数値は次のとおりです: "+ "123" + "456";

システム。でる.println(S1);

すると、次のように表示されます: 番号は: 123456

初期化が次のようになった場合:

文字列 S1 = 「数値は次のとおりです:」+(123+456);

System.out.println(S1);

そうすると、次のように出力されます: 数字は:579 です

ストリングスについては以上です。

よくあるご質問

Java 文字列は、セキュリティ、スレッドセーフティ、およびパフォーマンスの観点から不変です。作成後に値を変更できないため、JVMは文字列を文字列定数プールに安全にキャッシュし、参照を共有できます。

In Java== はオブジェクト参照を比較しますが、equals() は2つの文字列の実際の文字内容を比較します。2つの文字列が同じ値を持つかどうかを確認するには、equals() を使用してください。

String は不変ですが、StringBuilder と String はBuffer 変更可能です。文字列Buffer はスレッドセーフで同期化されています。StringBuilderはより高速ですがスレッドセーフではないため、シングルスレッドでの文字列操作に最適です。

AIコーディングアシスタントは、文字列処理コードを生成したり、適切なメソッドを提案したり、正規表現を説明したり、文字列操作におけるヌルポインタエラーやインデックスエラーなどのバグを検出したりすることができる。

はい。AIツールは書くことができます。 Java 置換、トリミング、大文字小文字変換などの手法を用いてテキストをクリーンアップ、フォーマット、変換するコードを作成し、各ステップを学習者向けに説明する。