カテゴリ: Javaの文字列操作 更新日: 2025/04/15

Java の文字列の大文字・小文字を変換する「toUpperCase()」「toLowerCase()」

088
Java の文字列の大文字・小文字を変換する「toUpperCase()」「toLowerCase()」

新人と先輩の会話形式で理解しよう

新人

「Java で文字列の大文字や小文字を変換する方法はありますか?」

先輩

「Java では、toUpperCase() メソッドと toLowerCase() メソッドを使って、大文字や小文字に変換できるよ。」

新人

「それぞれどんなときに使うんですか?」

先輩

「例えば、ユーザーの入力を統一したいときや、大文字・小文字を無視した比較をするときに使うことが多いよ。」

新人

「なるほど!具体的な使い方を教えてください!」

1. 文字列の大文字・小文字変換とは?(基本的な説明)

1. 文字列の大文字・小文字変換とは?(基本的な説明)
1. 文字列の大文字・小文字変換とは?(基本的な説明)

Java では、文字列の大文字・小文字を変換するために toUpperCase() メソッドと toLowerCase() メソッドを使います。

文字列変換の基本

  • toUpperCase() … すべての文字を大文字に変換
  • toLowerCase() … すべての文字を小文字に変換

これらのメソッドを使えば、例えば「Hello World!」を「HELLO WORLD!」や「hello world!」に変換できます。

2. 「toUpperCase()」で文字列を大文字に変換する

2. 「toUpperCase()」で文字列を大文字に変換する
2. 「toUpperCase()」で文字列を大文字に変換する

toUpperCase() メソッドを使うと、文字列内のすべてのアルファベットを大文字に変換できます。

toUpperCase() の基本的な使い方


public class UpperCaseExample {
    public static void main(String[] args) {
        String text = "Hello, Java!";
        String upperText = text.toUpperCase();
        System.out.println("大文字に変換: " + upperText);
    }
}

大文字に変換: HELLO, JAVA!

コードの解説

  • String text = "Hello, Java!"; … 元の文字列を用意する
  • text.toUpperCase(); … 文字列のすべてのアルファベットを大文字に変換する
  • System.out.println(upperText); … 変換後の文字列を表示する

このように、toUpperCase() メソッドを使えば、簡単にすべてのアルファベットを大文字に変換できます。

3. 「toLowerCase()」で文字列を小文字に変換する

3. 「toLowerCase()」で文字列を小文字に変換する
3. 「toLowerCase()」で文字列を小文字に変換する

toLowerCase() メソッドを使うと、文字列内のすべてのアルファベットを小文字に変換できます。

toLowerCase() の基本的な使い方


public class LowerCaseExample {
    public static void main(String[] args) {
        String text = "Hello, Java!";
        String lowerText = text.toLowerCase();
        System.out.println("小文字に変換: " + lowerText);
    }
}

小文字に変換: hello, java!

コードの解説

  • String text = "Hello, Java!"; … 元の文字列を用意する
  • text.toLowerCase(); … 文字列のすべてのアルファベットを小文字に変換する
  • System.out.println(lowerText); … 変換後の文字列を表示する

このように、toLowerCase() メソッドを使えば、簡単にすべてのアルファベットを小文字に変換できます。

Javaをこれから始める人や、 オブジェクト指向の考え方を基礎から理解したい人には、 定番の入門書がこちらです。

スッキリわかるJava入門 第4版をAmazonで見る

※ Amazon広告リンク

4. 「toUpperCase()」「toLowerCase()」を組み合わせた活用例

4. 「toUpperCase()」「toLowerCase()」を組み合わせた活用例
4. 「toUpperCase()」「toLowerCase()」を組み合わせた活用例

大文字・小文字を変換することで、ユーザーの入力を統一したり、比較しやすくすることができます。

大文字・小文字を無視した比較

例えば、入力された文字列が「java」でも「JAVA」でも同じとみなす場合、すべて小文字に変換して比較できます。


public class CaseInsensitiveComparison {
    public static void main(String[] args) {
        String input = "Java";
        String keyword = "java";

        if (input.toLowerCase().equals(keyword.toLowerCase())) {
            System.out.println("同じ単語です");
        } else {
            System.out.println("異なる単語です");
        }
    }
}

同じ単語です

コードの解説

  • 比較する文字列をどちらも toLowerCase() で小文字に変換する
  • 変換後に equals() を使って比較することで、大文字・小文字の違いを無視できる

ユーザー名を統一する

ユーザー名をすべて大文字に統一することで、データの一貫性を保つことができます。


public class NormalizeUsername {
    public static void main(String[] args) {
        String username = "javaMaster";
        String normalizedUsername = username.toUpperCase();
        System.out.println("統一されたユーザー名: " + normalizedUsername);
    }
}

統一されたユーザー名: JAVAMASTER

コードの解説

  • ユーザー名を toUpperCase() で大文字に統一する
  • データベースやシステム内で統一されたユーザー名を保存できる

このように、大文字・小文字の変換は、データの統一や比較を簡単にするために役立ちます。

5. 大文字・小文字変換の注意点

5. 大文字・小文字変換の注意点
5. 大文字・小文字変換の注意点

大文字・小文字の変換を使う際には、いくつかの注意点があります。

ロケール(言語設定)による影響

大文字・小文字の変換は、言語設定(ロケール)によって異なる結果になることがあります。


import java.util.Locale;

public class LocaleCaseConversion {
    public static void main(String[] args) {
        String text = "İstanbul"; // トルコ語の特殊な文字

        System.out.println("デフォルト: " + text.toLowerCase());
        System.out.println("トルコロケール: " + text.toLowerCase(Locale.forLanguageTag("tr")));
    }
}

デフォルト: i̇stanbul
トルコロケール: istanbul

コードの解説

  • 通常の toLowerCase() はデフォルトのロケールを使う
  • トルコ語の特殊な大文字「İ」は、通常のロケールでは「i̇」となり、トルコロケールでは「i」に変換される

このように、特定の言語の文字を扱う場合は、ロケールを指定した方が正確な変換ができます。

元の文字列は変更されない

toUpperCase()toLowerCase() を使っても、元の文字列は変更されません。


public class ImmutableStringExample {
    public static void main(String[] args) {
        String text = "Java Programming";
        text.toUpperCase();
        System.out.println("元の文字列: " + text);
    }
}

元の文字列: Java Programming

コードの解説

  • toUpperCase() を実行しても、元の文字列には影響がない
  • 変換後の結果を新しい変数に保存しないと、変換結果を使えない

文字列は「イミュータブル(変更不可)」なため、変換結果を利用するには、新しい変数に代入する必要があります。

6. 日本語の大文字・小文字変換の注意点(例:「あいうえお」には影響なし)

6. 日本語の大文字・小文字変換の注意点(例:「あいうえお」には影響なし)
6. 日本語の大文字・小文字変換の注意点(例:「あいうえお」には影響なし)

英語のアルファベットは toUpperCase()toLowerCase() で変換できますが、日本語のひらがな・カタカナ・漢字には影響がありません。

日本語の文字変換の例


public class JapaneseCaseExample {
    public static void main(String[] args) {
        String text = "こんにちは JAVA プログラム!";
        System.out.println("大文字に変換: " + text.toUpperCase());
        System.out.println("小文字に変換: " + text.toLowerCase());
    }
}

大文字に変換: こんにちは JAVA プログラム!
小文字に変換: こんにちは java プログラム!

コードの解説

  • 「こんにちは」は変化しない
  • 「JAVA」は小文字になり、「プログラム!」はそのまま

つまり、日本語のひらがな・カタカナ・漢字には大文字・小文字の概念がないため、変換の影響を受けません。

7. equalsIgnoreCase() との組み合わせでケースを無視した比較

7. equalsIgnoreCase() との組み合わせでケースを無視した比較
7. equalsIgnoreCase() との組み合わせでケースを無視した比較

大文字・小文字を区別せずに文字列を比較するには、equalsIgnoreCase() を使います。

equalsIgnoreCase() の使い方


public class IgnoreCaseExample {
    public static void main(String[] args) {
        String word1 = "Java";
        String word2 = "JAVA";

        if (word1.equalsIgnoreCase(word2)) {
            System.out.println("同じ単語です");
        } else {
            System.out.println("異なる単語です");
        }
    }
}

同じ単語です

コードの解説

  • equalsIgnoreCase() は大文字・小文字を無視して比較できる
  • 「Java」と「JAVA」は同じものとして判定される

このように、比較時に大文字・小文字を区別せずに判定したい場合は equalsIgnoreCase() を使うと便利です。

8. 練習問題:「toUpperCase()」「toLowerCase()」を使ったプログラムを作ろう

8. 練習問題:「toUpperCase()」「toLowerCase()」を使ったプログラムを作ろう
8. 練習問題:「toUpperCase()」「toLowerCase()」を使ったプログラムを作ろう

これまで学んだ内容を活用して、文字列の大文字・小文字を変換するプログラムを作ってみましょう。

練習問題

次の仕様を満たす Java プログラムを作成してください。

  • 「Hello Java!」を大文字・小文字の両方に変換して表示する
  • 変換後の文字列を equalsIgnoreCase() を使って比較する

public class CaseConversionPractice {
    public static void main(String[] args) {
        String original = "Hello Java!";
        String upper = original.toUpperCase();
        String lower = original.toLowerCase();

        System.out.println("元の文字列: " + original);
        System.out.println("大文字変換: " + upper);
        System.out.println("小文字変換: " + lower);

        if (upper.equalsIgnoreCase(lower)) {
            System.out.println("大文字・小文字を無視すると同じ文字列です");
        } else {
            System.out.println("異なる文字列です");
        }
    }
}

元の文字列: Hello Java!
大文字変換: HELLO JAVA!
小文字変換: hello java!
大文字・小文字を無視すると同じ文字列です

解説

  • toUpperCase() で大文字に変換
  • toLowerCase() で小文字に変換
  • equalsIgnoreCase() を使って大文字・小文字を無視した比較を行う

このプログラムを実行し、出力結果を確認してみましょう。

Javaの文字列操作の一覧へ
新着記事
Java の HashMap から特定のキーや値を検索する(containsKey, containsValue)
JavaのHashMapでキーや値を検索する方法を完全解説 containsKeyとcontainsValueの使い方入門
Flutterのリスト表示を学ぼう!ListView・GridViewの使い方
Flutterのリスト表示をマスター!初心者向けListView・GridViewの使い方完全ガイド
Java の HashMap を作成してデータを追加・取得する方法
JavaのHashMapの使い方を完全解説!初心者でもわかる作成・追加・取得の基本
【AWS】S3のエラーコード一覧と原因・対処法【403・404・503など】
【AWS】S3のエラーコード一覧と原因・対処法【403・404・503などを徹底解説】
人気記事
インスタンスタイプの料金比較と最適な選び方(最新2025年版)
AWSのインスタンスタイプの料金比較と最適な選び方【2025年最新版】
【AWS】VPCエンドポイントとは?種類・使い方・S3連携まで完全解説
【AWS】VPCエンドポイントとは?種類・使い方・S3連携まで完全解説
【AWS】s3 cpコマンド完全ガイド!基本・recursive・exclude/includeも解説
【AWS】s3 cpコマンド完全ガイド!基本・recursive・exclude/includeも解説
【AWS】VPCの料金体系まとめ!無料枠・通信費・各種サービスごとの料金を徹底解説
【AWS】VPCの料金体系まとめ!無料枠・通信費・各種サービスごとの料金を徹底解説

🔌 USBポート不足を解消

Type-C 1本で拡張。
開発・作業環境を一気に快適に

UGREEN USB-Cハブを見る

※ Amazon広告リンク