はじめに
この実験では、Java の Character.isLetter() メソッドを使用して、文字がアルファベットかどうかを判断する方法を学びます。このメソッドが大文字と小文字の両方のアルファベットをどのように扱うか、また数字や記号などの非アルファベット文字に対してどのように動作するかを調べます。
実践的な例を通じて、様々な文字タイプで Character.isLetter() メソッドをテストする Java コードを記述して実行し、それが返すブール値の結果を観察します。これにより、文字検証にこの Java の組み込み関数を効果的に使用する方法を実践的に理解することができます。
Character.isLetter() メソッドを使用する
このステップでは、Java の Character.isLetter() メソッドの使い方を学びます。このメソッドは Character クラスの一部で、与えられた文字がアルファベットかどうかを判断するために使用されます。
Character.isLetter() メソッドは単一の文字を入力として受け取り、ブール値を返します。文字がアルファベット(大文字または小文字)の場合は true を、そうでない場合は false を返します。
このメソッドを実験するために、新しい Java ファイルを作成しましょう。
WebIDE を開きます。左側のファイルエクスプローラーで、
~/projectディレクトリにいることを確認します。ファイルエクスプローラーの空白部分を右クリックし、「新しいファイル」を選択して、
LetterCheck.javaと名付けます。エディターで
LetterCheck.javaファイルを開きます。次のコードをエディターにコピーして貼り付けます。
public class LetterCheck { public static void main(String[] args) { char char1 = 'A'; char char2 = 'b'; char char3 = '5'; char char4 = '$'; boolean isChar1Letter = Character.isLetter(char1); boolean isChar2Letter = Character.isLetter(char2); boolean isChar3Letter = Character.isLetter(char3); boolean isChar4Letter = Character.isLetter(char4); System.out.println("Is '" + char1 + "' a letter? " + isChar1Letter); System.out.println("Is '" + char2 + "' a letter? " + isChar2Letter); System.out.println("Is '" + char3 + "' a letter? " + isChar3Letter); System.out.println("Is '" + char4 + "' a letter? " + isChar4Letter); } }このコードでは:
- 4 つの
char変数を宣言し、それぞれ異なる文字を保持します。 Character.isLetter()を使用して、各文字がアルファベットかどうかをチェックし、結果をブール型の変数に格納します。- その後、結果をコンソールに出力します。
- 4 つの
Ctrl + S(Mac の場合はCmd + S)を押してファイルを保存します。WebIDE の下部にあるターミナルを開きます。
~/projectディレクトリにいることを確認します。必要に応じてcd ~/projectコマンドを使用できます。javacコマンドを使用して Java ファイルをコンパイルします。javac LetterCheck.javaエラーがなければ、このコマンドにより同じディレクトリに
LetterCheck.classファイルが作成されます。javaコマンドを使用してコンパイルされた Java プログラムを実行します。java LetterCheck次のような出力が表示されるはずです。
Is 'A' a letter? true Is 'b' a letter? true Is '5' a letter? false Is '$' a letter? false
この出力は、Character.isLetter() が 'A' と 'b' をアルファベットとして、'5' と '$' を非アルファベットとして正しく識別したことを確認しています。
大文字と小文字でテストする
前のステップで、Character.isLetter() が 'A'(大文字)と 'b'(小文字)の両方をアルファベットとして正しく識別することを確認しました。これは、このメソッドが大文字と小文字の両方をチェックするためです。
LetterCheck.java プログラムを修正して、大文字と小文字の文字を具体的にテストし、Character.isLetter() がどのように動作するかを確認しましょう。
WebIDE のエディターで
LetterCheck.javaファイルが開いていない場合は開きます。このファイルは~/projectディレクトリにあるはずです。mainメソッドを修正して、大文字と小文字のアルファベットの例を追加します。既存のmainメソッドの内容を次のコードに置き換えます。public static void main(String[] args) { char upperCaseA = 'A'; char lowerCaseZ = 'z'; char upperCaseM = 'M'; char lowerCaseC = 'c'; char digit5 = '5'; // 比較のために非アルファベット文字を残す boolean isUpperCaseALetter = Character.isLetter(upperCaseA); boolean isLowerCaseZLetter = Character.isLetter(lowerCaseZ); boolean isUpperCaseMLetter = Character.isLetter(upperCaseM); boolean isLowerCaseCLetter = Character.isLetter(lowerCaseC); boolean isDigit5Letter = Character.isLetter(digit5); System.out.println("Is '" + upperCaseA + "' a letter? " + isUpperCaseALetter); System.out.println("Is '" + lowerCaseZ + "' a letter? " + isLowerCaseZLetter); System.out.println("Is '" + upperCaseM + "' a letter? " + isUpperCaseMLetter); System.out.println("Is '" + lowerCaseC + "' a letter? " + isLowerCaseCLetter); System.out.println("Is '" + digit5 + "' a letter? " + isDigit5Letter); }ここでは、異なる大文字と小文字のアルファベットをカバーする例を追加しています。
修正した
LetterCheck.javaファイルを保存します(Ctrl + SまたはCmd + S)。ターミナルが開いていない場合は開き、
~/projectディレクトリにいることを確認します。更新した Java ファイルをコンパイルします。
javac LetterCheck.java再び、コンパイルが成功すると何も出力されません。
コンパイルしたプログラムを実行します。
java LetterCheck次のような出力が表示されるはずです。
Is 'A' a letter? true Is 'z' a letter? true Is 'M' a letter? true Is 'c' a letter? true Is '5' a letter? false
これにより、Character.isLetter() がテストしたすべての大文字と小文字の文字をアルファベットとして正しく識別し、数字 '5' をアルファベットではないと識別することが確認されました。これは、このメソッドが英語のアルファベットの大文字と小文字の両方を扱う能力を示しています。
非文字の文字を扱う
前のステップで、Character.isLetter() が大文字と小文字のアルファベットでどのように動作するかを見てきました。次に、このメソッドが数字、記号、空白などの様々な非アルファベット文字をどのように扱うかを明示的にテストしましょう。
WebIDE のエディターで
LetterCheck.javaファイルを開きます。このファイルは~/projectディレクトリにあるはずです。mainメソッドを修正して、非アルファベット文字の例を追加します。既存のmainメソッドの内容を次のコードに置き換えます。public static void main(String[] args) { char digit0 = '0'; char symbolDollar = '$'; char space = ' '; char newLine = '\n'; // 改行文字 char comma = ','; char upperCaseA = 'A'; // 比較のためにアルファベットを残す boolean isDigit0Letter = Character.isLetter(digit0); boolean isSymbolDollarLetter = Character.isLetter(symbolDollar); boolean isSpaceLetter = Character.isLetter(space); boolean isNewLineLetter = Character.isLetter(newLine); boolean isCommaLetter = Character.isLetter(comma); boolean isUpperCaseALetter = Character.isLetter(upperCaseA); System.out.println("Is '" + digit0 + "' a letter? " + isDigit0Letter); System.out.println("Is '" + symbolDollar + "' a letter? " + isSymbolDollarLetter); System.out.println("Is space a letter? " + isSpaceLetter); // 明確にするために文字自体ではなく「space」を出力 System.out.println("Is newline a letter? " + isNewLineLetter); // 「newline」を出力 System.out.println("Is '" + comma + "' a letter? " + isCommaLetter); System.out.println("Is '" + upperCaseA + "' a letter? " + isUpperCaseALetter); }ここでは、数字、記号、空白、改行文字、コンマの例を追加しています。また、比較のために大文字のアルファベットも残しています。出力で文字自体を表示すると見えないまたは不明確になる可能性があるため、明確にするために「space」と「newline」を出力していることに注意してください。
修正した
LetterCheck.javaファイルを保存します(Ctrl + SまたはCmd + S)。ターミナルを開き、
~/projectディレクトリにいることを確認します。更新した Java ファイルをコンパイルします。
javac LetterCheck.javaコンパイルが成功すると、何も出力されません。
コンパイルしたプログラムを実行します。
java LetterCheck次のような出力が表示されるはずです。
Is '0' a letter? false Is '$' a letter? false Is space a letter? false Is newline a letter? false Is ',' a letter? false Is 'A' a letter? true
この出力は、Character.isLetter() が数字、記号、空白、改行文字を非アルファベット文字として正しく識別することを示しています。これにより、このメソッドがアルファベットの一部である文字をチェックするように特別に設計されていることが確認されます。
これで、Character.isLetter() を使用して、大文字のアルファベット、小文字のアルファベット、数字、記号、空白を含む様々な種類の文字をチェックすることに成功しました。このメソッドは、テキストを処理し、アルファベット文字を識別または除外する必要がある場合に便利です。
まとめ
この実験では、Java の Character.isLetter() メソッドを使用して、与えられた文字がアルファベットかどうかを判断する方法を学びました。LetterCheck.java という Java ファイルを作成し、大文字のアルファベット、小文字のアルファベット、数字、記号を含む様々な文字でこのメソッドをテストするコードを書きました。Character.isLetter() を使用することで、各文字がアルファベットかどうかを示すブール値の結果を取得し、これらの結果をコンソールに出力することができました。この実践的な演習は、Java での文字分類における Character.isLetter() メソッドの基本的な使い方を示しています。



