コンテンツにスキップ

Java/基礎/文字列

出典: フリー教科書『ウィキブックス(Wikibooks)』

文字列

[編集]

プログラミングにおける文字列(String)は、文字の連続した列を表すデータ型です。文字列は、テキストや文字データを扱うための基本的なデータ構造であり、多くのプログラミング言語でサポートされています。

文字列は、文字の配列として表現されます。各文字は、通常はUnicodeやASCIIなどの文字コードで符号化され、文字列全体はそれらの文字の連続したシーケンスとして表現されます。 文字列は、プログラム内でテキストデータを格納、操作、表示するために使用されます。

具体的な用途としては、次のようなものがあります:

  1. テキストの処理: 文字列を使用して、ユーザーからの入力や外部ファイルから読み取ったテキストデータを処理します。例えば、テキストの検索、置換、分割などの操作を行います。
  2. 表示とフォーマット: 文字列は、プログラムの出力として表示されるテキストを表します。フォーマット済みのテキストや、可変のテキストメッセージを生成してユーザーに表示するために使用されます。
  3. データの保存: 文字列は、データベースやファイルなどの永続的なストレージに保存されるテキストデータを表現するために使用されます。例えば、ユーザーの名前やメールアドレスなどの情報を文字列として保存します。
  4. プログラムの制御: 文字列は、条件分岐やループなどのプログラムの制御構造においても使用されます。特定の文字列のパターンに一致するかどうかを確認するための条件式や、繰り返し処理の終了条件として使用されます。

文字列は、ほぼすべてのプログラミング言語で重要な概念であり、プログラミングにおいて広く使用されています。

Javaの文字列

[編集]

Javaの文字列は、java.lang.Stringクラスで表されるオブジェクト型のデータです。文字列は、文字のシーケンスであり、文字列中の各文字はUnicode文字を表します。Javaの文字列はイミュータブル(不変)であり、一度作成された文字列オブジェクトの内容は変更できません。

以下は、Javaの文字列に関する基本的な操作を1つのソースコードにまとめたものです。

public class StringQuickTour {
    public static void main(String[] args) {
        // 文字列の作成
        String str1 = "Hello";
        String str2 = new String("World");

        // 文字列の結合
        String result = str1 + " " + str2;

        // 文字列の長さ
        int length = str1.length();

        // 文字の取得
        char firstChar = str1.charAt(0);

        // 部分文字列の取得
        String subStr = str1.substring(1, 3);

        // 文字列の比較
        boolean isEqual = str1.equals(str2);

        // 文字列の検索
        int index = str1.indexOf("l");

        // 大文字・小文字変換
        String upperCaseStr = str1.toUpperCase();
        String lowerCaseStr = str1.toLowerCase();

        // 空白の削除
        String trimmedStr = str1.trim();

        // 文字列の置換
        String replacedStr = str1.replace("l", "r");

        // 結果の表示
        System.out.println("Result: " + result);
        System.out.println("Length: " + length);
        System.out.println("First character: " + firstChar);
        System.out.println("Substring: " + subStr);
        System.out.println("Equal: " + isEqual);
        System.out.println("Index of 'l': " + index);
        System.out.println("Uppercase: " + upperCaseStr);
        System.out.println("Lowercase: " + lowerCaseStr);
        System.out.println("Trimmed: " + trimmedStr);
        System.out.println("Replaced: " + replacedStr);
    }
}

このコードでは、文字列の作成、結合、長さの取得、部分文字列の取得、比較、検索、大文字・小文字変換、空白の削除、置換などの基本的な操作を行っています。これらの操作は、Javaの文字列処理においてよく使用されます。

メソッド

[編集]

以下は、Javaの文字列クラス (java.lang.String) に含まれる主なメソッドの一覧です。

文字列のメソッド一覧
メソッド 説明
charAt(int index) 指定されたインデックスの文字を取得します。
length() 文字列の長さを取得します。
substring(int beginIndex) 指定されたインデックスから文字列の終端までの部分文字列を取得します。
substring(int beginIndex, int endIndex) 指定された範囲の部分文字列を取得します。
indexOf(String str) 指定された文字列が最初に出現する位置のインデックスを取得します。
lastIndexOf(String str) 指定された文字列が最後に出現する位置のインデックスを取得します。
startsWith(String prefix) 指定された文字列で始まるかどうかを判定します。
endsWith(String suffix) 指定された文字列で終わるかどうかを判定します。
toLowerCase() 文字列を小文字に変換します。
toUpperCase() 文字列を大文字に変換します。
trim() 文字列の先頭および末尾の空白を除去します。
equals(Object another) 指定されたオブジェクトと文字列が等しいかどうかを判定します。
equalsIgnoreCase(String another) 大文字と小文字を無視して、指定された文字列と等しいかどうかを判定します。
compareTo(String another) 2つの文字列を辞書順で比較します。
concat(String str) 指定された文字列を現在の文字列の末尾に追加します。
replace(char oldChar, char newChar) 指定された古い文字を新しい文字で置き換えます。
replaceAll(String regex, String replacement) 正規表現にマッチする部分を、指定された置換文字列で置き換えます。
split(String regex) 指定された正規表現に基づいて、文字列を分割します。
contains(CharSequence s) 指定された文字列または文字シーケンスがこの文字列内に含まれているかどうかを判定します。

これらのメソッドは、Javaの文字列を操作するために使用されます。それぞれのメソッドは、文字列に対して特定の操作を行います。