【Java】charAtメソッドを使ってn番目の文字を得る

【Java】charAtメソッドを使ってn番目の文字を得る

charAtとは

charAtは、JavaのStringクラスが提供するメソッドの1つで、文字列の指定された位置にある文字を取得します。
メソッドのシグネチャは次のようになっています:

public char charAt(int index)

indexは0から始まるため、1文字目を取得するにはindex = 0を指定します。
このメソッドは、指定したindexが文字列の範囲外の場合にStringIndexOutOfBoundsExceptionをスローします。

charAtの基本的な使い方

以下は、charAtの基本的な使用例です。


String str = "Hello, World!";
char firstChar = str.charAt(0); // 'H'
char fifthChar = str.charAt(4); // 'o'
System.out.println("1文字目: " + firstChar);
System.out.println("5文字目: " + fifthChar);
    

この例では、文字列"Hello, World!"の1文字目と5文字目を取得しています。

charAtの具体例

具体例をいくつか示します。

例1: 簡単なループ

文字列を1文字ずつ表示するループ:


String str = "Java";
for (int i = 0; i < str.length(); i++) {
    System.out.println(str.charAt(i));
}
// 出力:
// J
// a
// v
// a
    

例2: 文字のカウント

'a'の出現回数を数える:


String str = "banana";
int count = 0;
for (int i = 0; i < str.length(); i++) {
    if (str.charAt(i) == 'a') {
        count++;
    }
}
System.out.println("'a'の数: " + count);
// 出力: 'a'の数: 3
    

例3: 数字の判定

文字列内の数字を特定する:


String str = "abc123def";
for (int i = 0; i < str.length(); i++) {
    if (Character.isDigit(str.charAt(i))) {
        System.out.println("数字: " + str.charAt(i));
    }
}
// 出力:
// 数字: 1
// 数字: 2
// 数字: 3
    

エラーハンドリング

charAtを使用する際に注意すべき点は、インデックスが範囲外の場合に例外が発生することです。
以下の例では、例外処理を行っています:


String str = "example";
try {
    char ch = str.charAt(10); // 範囲外
} catch (StringIndexOutOfBoundsException e) {
    System.out.println("エラー: " + e.getMessage());
}
// 出力: エラー: String index out of range: 10
    

応用例

文字列の逆転


String str = "Hello";
String reversed = "";
for (int i = str.length() - 1; i >= 0; i--) {
    reversed += str.charAt(i);
}
System.out.println("逆転文字列: " + reversed);
// 出力: 逆転文字列: olleH
    

文字のフィルタリング

母音だけを抽出:


String str = "programming";
String vowels = "";
for (int i = 0; i < str.length(); i++) {
    char ch = str.charAt(i);
    if ("aeiou".indexOf(ch) != -1) {
        vowels += ch;
    }
}
System.out.println("母音: " + vowels);
// 出力: 母音: oai
    

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です