Java で文字を小文字に変換する

JavaJavaBeginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

Java プログラミングにおいて、toLowerCase(char ch) メソッドは、与えられた文字引数を小文字に変換するために使用されます。このメソッドは Java の Character クラスの一部であり、Unicode データファイルによって提供されるケースマッピング情報を使用します。この機能は、ケースの正規化が必要なテキストを処理する際に特に有用です。

この実験では、Java プログラムで toLowerCase(char ch) メソッドを使用する方法を学びます。文字を小文字に変換する簡単なアプリケーションを作成し、ユーザー入力とエラーハンドリング機能を追加して拡張します。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL java(("Java")) -.-> java/SystemandDataProcessingGroup(["System and Data Processing"]) java(("Java")) -.-> java/BasicSyntaxGroup(["Basic Syntax"]) java(("Java")) -.-> java/StringManipulationGroup(["String Manipulation"]) java(("Java")) -.-> java/ObjectOrientedandAdvancedConceptsGroup(["Object-Oriented and Advanced Concepts"]) java/BasicSyntaxGroup -.-> java/data_types("Data Types") java/BasicSyntaxGroup -.-> java/if_else("If...Else") java/BasicSyntaxGroup -.-> java/while_loop("While Loop") java/StringManipulationGroup -.-> java/strings("Strings") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/user_input("User Input") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/exceptions("Exceptions") java/SystemandDataProcessingGroup -.-> java/string_methods("String Methods") subgraph Lab Skills java/data_types -.-> lab-117580{{"Java で文字を小文字に変換する"}} java/if_else -.-> lab-117580{{"Java で文字を小文字に変換する"}} java/while_loop -.-> lab-117580{{"Java で文字を小文字に変換する"}} java/strings -.-> lab-117580{{"Java で文字を小文字に変換する"}} java/user_input -.-> lab-117580{{"Java で文字を小文字に変換する"}} java/exceptions -.-> lab-117580{{"Java で文字を小文字に変換する"}} java/string_methods -.-> lab-117580{{"Java で文字を小文字に変換する"}} end

最初の文字変換プログラムを作成する

このステップでは、Java の Character クラスの toLowerCase(char ch) メソッドを使用して文字を小文字に変換する方法を示す Java プログラムを作成します。

文字のケース変換の理解

Java では、文字はプリミティブデータ型 char で表されます。Character クラスは、文字を操作して扱うための様々なメソッドを提供しており、大文字と小文字の変換機能も含まれています。

toLowerCase(char ch) メソッドは文字を入力として受け取り、以下のように動作します。

  • 入力が大文字の場合、その文字の小文字バージョンを返します。
  • 入力がすでに小文字であるか、文字でない場合、同じ文字を返します。

Java ファイルの作成

まず、プロジェクトディレクトリに新しい Java ファイルを作成しましょう。

  1. WebIDE のエディタウィンドウを開きます。
  2. ファイルメニューに移動し、「新規ファイル」をクリックします。
  3. ファイル名を CharacterToLowerCase.java とし、/home/labex/project ディレクトリに保存します。

あるいは、ターミナルを使用してファイルを作成することもできます。

cd ~/project
touch CharacterToLowerCase.java

最初のプログラムを書く

次に、CharacterToLowerCase.java ファイルにコードを書きましょう。

  1. WebIDE エディタでファイルを開きます。
  2. 以下のコードをファイルにコピーして貼り付けます。
public class CharacterToLowerCase {
    public static void main(String[] args) {
        // Create character variables with different cases
        char upperCaseChar = 'A';
        char lowerCaseChar = 'b';
        char nonLetterChar = '5';

        // Convert each character to lowercase
        char result1 = Character.toLowerCase(upperCaseChar);
        char result2 = Character.toLowerCase(lowerCaseChar);
        char result3 = Character.toLowerCase(nonLetterChar);

        // Print the original and lowercase characters
        System.out.println("Original uppercase character: " + upperCaseChar);
        System.out.println("After toLowerCase(): " + result1);
        System.out.println();

        System.out.println("Original lowercase character: " + lowerCaseChar);
        System.out.println("After toLowerCase(): " + result2);
        System.out.println();

        System.out.println("Original non-letter character: " + nonLetterChar);
        System.out.println("After toLowerCase(): " + result3);
    }
}

このプログラムは、3 種類の異なる文字に対する toLowerCase(char ch) メソッドの動作を示しています。

  • 大文字の文字 ('A')
  • 小文字の文字 ('b')
  • 文字でない文字 ('5')

プログラムのコンパイルと実行

次に、Java プログラムをコンパイルして実行しましょう。

  1. WebIDE でターミナルを開きます。
  2. まだプロジェクトディレクトリにいない場合は、以下のコマンドで移動します。
    cd ~/project
  3. Java ファイルをコンパイルします。
    javac CharacterToLowerCase.java
  4. コンパイルされたプログラムを実行します。
    java CharacterToLowerCase

以下の出力が表示されるはずです。

Original uppercase character: A
After toLowerCase(): a

Original lowercase character: b
After toLowerCase(): b

Original non-letter character: 5
After toLowerCase(): 5

ご覧の通り、大文字の 'A' は小文字の 'a' に変換されましたが、すでに小文字の 'b' と文字でない文字 '5' は変更されていません。

ユーザー入力でプログラムを拡張する

このステップでは、プログラムを拡張してユーザー入力を受け付けるようにします。事前に定義された文字を使用する代わりに、プログラムはユーザーに文字の入力を促し、それを小文字に変換します。

Scanner クラスの理解

Java でユーザー入力を受け付けるには、java.util パッケージの Scanner クラスを使用します。Scanner クラスは、標準入力(キーボード)を含む様々なソースから、さまざまなタイプの入力データ(整数、浮動小数点数、文字列など)を読み取るためのメソッドを提供します。

Scanner クラスの使用方法は以下の通りです。

  1. import java.util.Scanner; でクラスをインポートします。
  2. Scanner scanner = new Scanner(System.in);Scanner オブジェクトを作成します。
  3. next()nextInt() などのメソッドを使用して入力を読み取ります。

プログラムの修正

ユーザー入力を受け付けるようにプログラムを修正しましょう。

  1. WebIDE エディタで CharacterToLowerCase.java ファイルを開きます。
  2. 既存のコードを以下のコードに置き換えます。
import java.util.Scanner;

public class CharacterToLowerCase {
    public static void main(String[] args) {
        // Create a Scanner object to read user input
        Scanner scanner = new Scanner(System.in);

        // Prompt the user to enter a character
        System.out.print("Enter a character: ");

        // Read the first character of the input
        String input = scanner.next();
        char userChar = input.charAt(0);

        // Convert the character to lowercase
        char lowerCaseChar = Character.toLowerCase(userChar);

        // Print the original and lowercase characters
        System.out.println("Original character: " + userChar);
        System.out.println("Lowercase character: " + lowerCaseChar);

        // Close the scanner
        scanner.close();
    }
}

このコードの主な変更点は以下の通りです。

  • Scanner クラスをインポートします。
  • コンソールから入力を読み取るための Scanner オブジェクトを作成します。
  • ユーザーに文字の入力を促します。
  • 入力を文字列として読み取り、最初の文字を抽出します。
  • 文字を小文字に変換し、元の文字と小文字の文字の両方を表示します。
  • リソースを解放するために Scanner を閉じます。

修正後のプログラムのコンパイルと実行

修正後のプログラムをコンパイルして実行しましょう。

  1. WebIDE でターミナルを開きます。
  2. まだプロジェクトディレクトリにいない場合は、以下のコマンドで移動します。
    cd ~/project
  3. Java ファイルをコンパイルします。
    javac CharacterToLowerCase.java
  4. コンパイルされたプログラムを実行します。
    java CharacterToLowerCase
  5. プロンプトが表示されたら、文字(例えば 'Z')を入力し、Enter キーを押します。

('Z' を入力したと仮定すると)以下のような出力が表示されるはずです。

Enter a character: Z
Original character: Z
Lowercase character: z

異なる文字を入力して、小文字、大文字、および文字でない文字に対するプログラムの動作を確認してみてください。

エラーと無効な入力の処理

前のステップでは、ユーザーが有効な文字を入力した場合、プログラムは正常に動作しました。しかし、ユーザーが空文字列を入力した場合や、入力の読み取りに何らかの問題があった場合、プログラムは例外を投げてクラッシュする可能性があります。このステップでは、潜在的なエラーと無効な入力を処理するようにプログラムを拡張します。

Java での例外処理の理解

Java での例外処理は、try-catch ブロックを使用して行われます。

  • 例外を投げる可能性のあるコードは try ブロックに配置されます。
  • 例外を処理するコードは catch ブロックに配置されます。
  • 例外の種類を指定することで、特定の例外をキャッチすることができます。

エラーを処理するようにプログラムを修正する

潜在的なエラーを処理するようにプログラムを修正しましょう。

  1. WebIDE エディタで CharacterToLowerCase.java ファイルを開きます。
  2. 既存のコードを以下のコードに置き換えます。
import java.util.Scanner;

public class CharacterToLowerCase {
    public static void main(String[] args) {
        // Create a Scanner object to read user input
        Scanner scanner = new Scanner(System.in);

        // Continue until valid input is received
        boolean validInput = false;

        while (!validInput) {
            try {
                // Prompt the user to enter a character
                System.out.print("Enter a character: ");

                // Read the first character of the input
                String input = scanner.next();
                if (input.isEmpty()) {
                    System.out.println("Error: Empty input. Please enter a character.");
                    continue;
                }

                char userChar = input.charAt(0);

                // Convert the character to lowercase
                char lowerCaseChar = Character.toLowerCase(userChar);

                // Print the original and lowercase characters
                System.out.println("Original character: " + userChar);
                System.out.println("Lowercase character: " + lowerCaseChar);

                // If a character is already lowercase or is not a letter, explain the result
                if (userChar == lowerCaseChar) {
                    if (Character.isLetter(userChar)) {
                        System.out.println("Note: The character was already lowercase.");
                    } else {
                        System.out.println("Note: The character is not a letter, so it remains unchanged.");
                    }
                }

                validInput = true;  // Exit the loop

            } catch (Exception e) {
                // Handle any exceptions that might occur
                System.out.println("Error: Invalid input. Please try again.");
                scanner.nextLine();  // Clear the input buffer
            }
        }

        // Close the scanner
        scanner.close();
    }
}

このコードの主な変更点は以下の通りです。

  • 有効な入力が得られるまで入力を促すループを追加しました。
  • 潜在的な例外を処理するための try-catch ブロックを追加しました。
  • 入力が空であるかどうかをチェックします。
  • 特定の文字が変更されない理由に関する追加情報を追加しました。
  • 無効な入力の場合に入力バッファをクリアします。

最終プログラムのコンパイルと実行

拡張されたプログラムをコンパイルして実行しましょう。

  1. WebIDE でターミナルを開きます。
  2. まだプロジェクトディレクトリにいない場合は、以下のコマンドで移動します。
    cd ~/project
  3. Java ファイルをコンパイルします。
    javac CharacterToLowerCase.java
  4. コンパイルされたプログラムを実行します。
    java CharacterToLowerCase

さまざまなシナリオをテストしてみましょう。

  1. 大文字を入力する(例:'A'):

    Enter a character: A
    Original character: A
    Lowercase character: a
  2. 小文字を入力する(例:'a'):

    Enter a character: a
    Original character: a
    Lowercase character: a
    Note: The character was already lowercase.
  3. 文字でない文字を入力する(例:'5'):

    Enter a character: 5
    Original character: 5
    Lowercase character: 5
    Note: The character is not a letter, so it remains unchanged.
  4. 文字を入力せずに Enter キーを押すか、無効な入力を試す:

    Enter a character:
    Error: Invalid input. Please try again.
    Enter a character:

これで、プログラムはさまざまな入力シナリオを適切に処理し、ユーザーに有益なフィードバックを提供します。

まとめ

この実験では、Java の toLowerCase(char ch) メソッドを使用して文字を小文字に変換する方法を学びました。以下に、達成したことをまとめます。

  1. toLowerCase(char ch) メソッドを使用して文字の大文字小文字変換を実証する基本的な Java プログラムを作成しました。

  2. Scanner クラスを使用してユーザー入力を受け付けるようにプログラムを拡張し、ユーザーが独自の文字を入力して変換できるようにしました。

  3. try-catch ブロックを使用したエラー処理を追加して、無効な入力を適切に処理することで、プログラムの堅牢性を向上させました。

  4. toLowerCase(char ch) メソッドに渡されたときに特定の文字が変更されない理由を説明する有益なメッセージを追加しました。

これらのスキルは Java プログラミングにおいて基本的なものであり、以下のような多くの実世界のシナリオに適用できます。

  • テキスト処理と正規化
  • フォーム検証
  • 検索機能(大文字小文字を区別しない検索)
  • データのクリーニングと準備

Java の学習を続ける際には、Character クラスには isLetter()isDigit()isUpperCase()isLowerCase() など、文字を操作するための他の多くの便利なメソッドが用意されていることを覚えておいてください。