Java で文字列の最初の文字を取得する

Mohammad Irfan 2023年10月12日
  1. Java で charAt() メソッドを使用して最初の文字を取得する
  2. Java で例外なく charAt() メソッドを使用して最初の文字を取得する
  3. Java の文字列 substring() メソッドを使用して最初の文字を取得する
  4. Java で substring() メソッドを使用して最初の文字を取得する
  5. Java で toCharArray() メソッドを使用して最初の文字を取得する
  6. まとめ
Java で文字列の最初の文字を取得する

このチュートリアルでは、Java で文字列の最初の文字を取得する方法を紹介します。また、トピックを理解するのに役立つサンプルコードをいくつかリストしました。

文字列は、Java の文字のコレクションまたはシーケンスです。文字列はさまざまな目的に使用でき、文字列を操作するためにさまざまな文字にアクセスする必要がある場合があります。

たとえば、名の文字列配列があり、各名前の最初の文字が大文字になっていることを確認したい場合は、各文字列の最初の文字にアクセスする必要があります。

文字列から最初の文字をフェッチするさまざまな方法を学びましょう。

Java で charAt() メソッドを使用して最初の文字を取得する

charAt() メソッドは、整数のインデックス値をパラメータとして受け取り、そのインデックスに存在する文字を返します。String クラスメソッドとその戻り型は char 値です。

以下のプログラムは、このメソッドを使用して文字列の最初の文字をフェッチする方法を示しています。文字列はゼロベースのインデックス付けに従い、最初の文字は常にインデックス 0 に存在することがわかっています。以下の例を参照してください。

public class Main {
  public static void main(String[] args) {
    String s = "demo";
    char firstCharacter = s.charAt(0);
    System.out.println("The String is: " + s);
    System.out.println("The first character of the String is: " + firstCharacter);
  }
}

出力:

The String is: demo
The first character of the String is: d

charAt() メソッドは、次の条件で IndexOutOfBoundsException をスローすることに注意してください。インデックスパラメータが文字列の長さ以上の場合、または負の場合。この例外は、空の文字列の最初の文字を取得しようとした場合にもスローされます。

次のコードは、文字列が空であるため、このエラーをスローします。

public class Main {
  public static void main(String[] args) {
    String s = "";
    char firstCharacter = s.charAt(0);
    System.out.println("The first character of the String is: " + firstCharacter);
  }
}

出力:

Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 0
	at java.base/java.lang.StringLatin1.charAt(StringLatin1.java:48)
	at java.base/java.lang.String.charAt(String.java:712)
	at Main.main(Main.java:6)

Java で例外なく charAt() メソッドを使用して最初の文字を取得する

charAt() メソッドを使用して、文字列の最初の文字を出力するメソッドを作成しましょう。このプロセスは、IndexOutOfBoundsException を回避するために、文字列が空であるかどうかもチェックします。

public class Main {
  public static Character getFirstCharacter(String s) {
    if (s == null || s.length() == 0)
      return null;
    else
      return (Character) s.charAt(0);
  }
  public static void main(String[] args) {
    String s = "demonstration";
    System.out.println("The string is: " + s);
    System.out.print("The first character of string is: " + getFirstCharacter(s));
  }
}

出力:

The string is: demonstration
The first character of string is: d

Java の文字列 substring() メソッドを使用して最初の文字を取得する

文字列 substring() メソッドを使用して、別の文字列から部分文字列を抽出できます。メソッドシグネチャを以下に示します。オーバーロードされたバージョンが 1つあります。

public String substring(int startIdx) public String substring(int startIdx, int endIdx)

開始インデックスを渡すだけで、startIdx から始まるサブストリングがフェッチされ、残りのすべての文字が含まれます。endIdx を渡すと、startIdx で始まり endIdx(排他的範囲)で終わる部分文字列がフェッチされます。

以下の例を参照してください。

public class Main {
  public static void main(String[] args) {
    String s = "demonstration";
    System.out.println("The string is: " + s);
    System.out.println("Substring starting from index 3: " + s.substring(3));
    System.out.println(
        "Substring starting from index 2 and ending at index 5: " + s.substring(2, 5));
  }
}

出力:

The string is: demonstration
Substring starting from index 3: onstration
Substring starting from index 2 and ending at index 5: mon

Java で substring() メソッドを使用して最初の文字を取得する

文字列の最初の文字をフェッチするために、開始インデックスを 0 として、終了インデックスを 1 として渡すことができます。このメソッドの戻りタイプは文字列であるため、1 文字でも文字列として返されることに注意してください。文字列が空の場合、StringIndexOutOfBoundsException がスローされます。substring() メソッドを使用する前に、この条件を確認する必要があります。

public class Main {
  public static String getFirstCharacter(String s) {
    if (s == null || s.length() == 0)
      return null;
    else
      return s.substring(0, 1);
  }
  public static void main(String[] args) {
    String s = "demonstration";
    System.out.println("The string is: " + s);
    System.out.print("The first character of string is: " + getFirstCharacter(s));
  }
}

出力:

The string is: demonstration
The first character of string is: d

Java で toCharArray() メソッドを使用して最初の文字を取得する

インデックス値を使用して配列の要素にアクセスできることはわかっています。文字列を char データ型の配列に変換できれば、そのインデックスを使用して任意の要素を簡単にフェッチできます。

インデックス 0 を介して最初の文字を取得できます。toCharArray() メソッドを使用して、文字列を文字配列に変換します。

toCharArray() を使用して配列の最初の文字を取得する例を以下に示します。

public class Main {
  public static Character getFirstCharacter(String s) {
    if (s == null || s.length() == 0)
      return null;
    else {
      char[] charArr = s.toCharArray();
      return charArr[0];
    }
  }
  public static void main(String[] args) {
    String s = "demonstration";
    System.out.println("The string is: " + s);
    System.out.print("The first character of string is: " + getFirstCharacter(s));
  }
}

出力:

The string is: demonstration
The first character of string is: d

まとめ

ここでは、文字列の最初の文字にアクセスする方法を学びました。charAt() メソッドを使用し、インデックスパラメータを 0 として渡して、文字列の最初の文字をフェッチできます。

開始インデックスを 0、終了インデックスを 1 として substring() メソッドを使用して、最初の文字をサブストリングとして取得することもできます。toCharArray() メソッドを最初に使用して文字列を文字配列に変換し、次に配列インデックスを使用して最初の文字をフェッチすることもできます。

関連記事 - Java String