Javaで文字列操作を始めよう!Stringクラスの基本的な使い方

この記事は約4分で読めます。
記事内に広告が含まれています。

Javaで文字列を扱う際には、Stringクラスが非常に重要な役割を果たします。Stringクラスは、文字列を格納し、様々な操作を行うためのメソッドを提供しています。

Stringクラスの基本

  • 文字列の宣言と代入
String str = "Hello, world!";

のように、変数に文字列を代入することで使用します。

  • 文字数の取得
int length = str.length();

length()メソッドで文字列の長さを取得できます。

  • 文字列の結合
String firstName = "太郎";
String lastName = "山田";
String fullName = firstName + " " + lastName;

+演算子で文字列を結合できます。

Stringクラスの主なメソッド

  • equalsメソッド
    2つの文字列が等しいかどうかを比較します。
if (str1.equals(str2)) { // 文字列が等しい場合の処理 }
  • containsメソッド
    ある文字列が別の文字列に含まれているかどうかを調べます。
if (str.contains("world")) { // "world"が含まれている場合の処理 }
  • indexOfメソッド
    特定の文字列が最初に現れるインデックスを取得します。
int index = str.indexOf("world");
  • substringメソッド
    文字列の一部を抽出します。
String subStr = str.substring(7); // "world!"を抽出
  • toUpperCaseメソッド, toLowerCaseメソッド
    文字列を大文字または小文字に変換します。
  • trimメソッド
    文字列の前後の空白を削除します。
  • splitメソッド
    文字列を指定された区切り文字で分割し、文字列の配列を返します。
  • replaceメソッド
    文字列内の特定の文字列を別の文字列に置き換えます。

例:文字列を逆順にする

public class ReverseString {
    public static void main(String[] args) {
        String str = "hello";
        String reverseStr = "";
        for (int i = str.length() - 1; i >= 0; i--) {
            reverseStr += str.charAt(i);
        }
        System.out.println(reverseStr); // olleh
    }
}

文字列を逆順にするので、文字列の最後の文字から順番に取ってつなげればよさそうですね。
文字列から一文字ずつ取ってつなぐので、繰り返し処理を使います。

    for (int i = str.length() - 1; i >= 0; i--) {

文字列の最後の文字から一つずつ0まで順に戻っていきます。
str.length()でstrの文字数を取得します。strは「hello」なので、str.length()は5になります。
最後の文字なので5番目ですが、Javaのインデックス(番号)は0から始まるので最後の文字は4番です。そのため、str.length() – 1 としています。

        reverseStr += str.charAt(i);

str.charAt(i)でstrのi番目の文字を取得できます。0番から始まるので、4番は「o」です。

    reverseStr += str.charAt(i);
    reverseStr = reverseStr + str.charAt(i);

この二つは同じ意味なので、reverseStrに取得した文字をつなげています。
for文が終わった時、reverseStrには逆順にした文字列が入っているので、最後にreverseStrを出力しています。

まとめ

Stringクラスは、Javaで文字列を扱う上で最も基本的なクラスです。様々なメソッドが用意されており、柔軟な文字列操作が可能となります。

ポイント

  • Stringは不変(immutable)なオブジェクトです。一度作成された文字列は変更できません。
  • 文字列の操作を行う際は、新しいStringオブジェクトが生成されます。
  • StringBuilderやStringBufferクラスを使うと、より効率的に文字列を操作できます。

さらに詳しく知りたい方へ

  • StringBuilder, StringBuffer: 文字列を頻繁に操作する場合に効率的なクラス
  • 正規表現: より高度な文字列検索や置換を行うための仕組み

これらの知識を習得することで、より複雑な文字列処理に対応できるようになります。

コメント

タイトルとURLをコピーしました