カテゴリ: JavaSilver試験対策 更新日: 2026/06/07

Javaの識別子のルールを完全ガイド!初心者でもわかる命名規則

013
Javaの識別子のルール

先生と生徒の会話形式で理解しよう

生徒

「Javaで変数の名前を付けるときに、どんなルールがありますか?」

先生

「良い質問ですね!Javaでは変数やメソッドなどの名前、つまり識別子にはいくつかのルールがあります。そのルールを一緒に見ていきましょう。」

生徒

「具体的にはどんなルールがあるんですか?」

先生

「例えば、使える記号や始められる文字などが決まっています。それでは詳しく説明していきますね!」

1. Javaの識別子とは?

1. Javaの識別子とは?
1. Javaの識別子とは?

Javaの識別子(Identifier)は、変数名やメソッド名、クラス名などを指します。プログラムを書く際に非常に重要な部分で、Javaでは次のようなルールに従って識別子を定義します。

2. Java識別子の基本ルール

2. Java識別子の基本ルール
2. Java識別子の基本ルール
  • 識別子には英文字(大文字・小文字)、数字、アンダースコア「_」、ドル記号「$」を使用できます。
  • 識別子は英文字またはアンダースコア「_」、ドル記号「$」で始める必要があります。数字で始めることはできません。
  • Javaの予約語(例: int, class, if など)は識別子として使用できません。
  • アンダースコア「_」のみの識別子は特別な用途に使用されるため避けるべきです。

3. Javaの識別子に使える記号

3. Javaの識別子に使える記号
3. Javaの識別子に使える記号

Javaで識別子に使える記号はアンダースコア「_」とドル記号「$」だけです。次の例を見てみましょう。


public class IdentifierExample {
    public static void main(String[] args) {
        int _validIdentifier = 100; // 正しい識別子
        int $anotherValid = 200;   // 正しい識別子
        // int 1invalid = 300;    // エラー: 数字で始めている
        // int invalid-char = 400; // エラー: ハイフン「-」は使用不可
    }
}

このように、識別子の命名にルールを守る必要があります。

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

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

※ Amazon広告リンク

4. Javaの予約語に注意!

4. Javaの予約語に注意!
4. Javaの予約語に注意!

Javaには予約語が多く存在します。これらはプログラムの構文を表すために使われる特別な単語であり、識別子として利用できません。例えば次のようなものがあります。

  • int, double, boolean(データ型)
  • for, if, while(制御構文)
  • class, public, static(クラス構造)

例えば、次のコードはエラーになります。


public class ReservedWordExample {
    public static void main(String[] args) {
        // int class = 10; // エラー: 予約語「class」を使用
        int validName = 20; // 正しい例
    }
}

5. 注意すべき識別子のパターン

5. 注意すべき識別子のパターン
5. 注意すべき識別子のパターン

識別子のルールを守ったとしても、次のようなケースは避けるべきです。

  • int Int = 100;(紛らわしい大文字・小文字の混同)
  • int _ = 200;(アンダースコア単体は避けるべき)

チーム開発などでは、可読性の高い命名を心がけましょう。

6. 実行例

6. 実行例
6. 実行例

ルールを守った識別子の例を実行してみましょう。


public class IdentifierDemo {
    public static void main(String[] args) {
        int _myVariable = 10;
        int $amount = 50;
        System.out.println("変数 _myVariable の値: " + _myVariable);
        System.out.println("変数 $amount の値: " + $amount);
    }
}

実行結果:


変数 _myVariable の値: 10
変数 $amount の値: 50

7. Javaの命名慣習(キャメルケース)

7. Javaの命名慣習(キャメルケース)
7. Javaの命名慣習(キャメルケース)

Javaには、文法上のルール(識別子として使えるかどうか)とは別に、開発者が守るべき「命名慣習(コンベンション)」があります。最も一般的なのが、単語の区切りを大文字で表す「キャメルケース」です。

  • ローワーキャメルケース: 変数名やメソッド名に使用します。最初の単語は小文字で始め、2つ目以降の単語の先頭を大文字にします。(例:userAge, calculateTotal Amount
  • アッパーキャメルケース(パスカルケース): クラス名に使用します。すべての単語の先頭を大文字にします。(例:UserRegistration, MainSystem

未経験の方でも、この慣習に従うだけで「プロっぽいコード」に見えるようになります。以下の比較例を見てみましょう。


public class NamingConvention { // クラス名はアッパーキャメル
    public static void main(String[] args) {
        int userAge = 25;       // 変数名はローワーキャメル
        int user_age = 25;      // 文法上は正しいが、Javaではあまり使われません
    }
}

8. 意味のある名前を付けよう(自己文書化)

8. 意味のある名前を付けよう(自己文書化)
8. 意味のある名前を付けよう(自己文書化)

識別子の役割は、そのデータや処理が「何であるか」を伝えることです。ab といった一文字の名前ではなく、中身が推測できる名前を付けることが重要です。これを自己文書化と呼び、読みやすいプログラムの第一歩となります。

例えば、「点数」を保持する変数を考えてみましょう。


public class MeaningfulName {
    public static void main(String[] args) {
        // 悪い例:何を表しているか分からない
        int n = 85; 

        // 良い例:テストの点数だとすぐに分かる
        int testScore = 85;

        System.out.println("スコアを表示: " + testScore);
    }
}

スコアを表示: 85

短い名前はタイピングは楽ですが、後でコードを見返したときに混乱を招きます。多少長くなっても、userNameitemPrice のように、役割が明確な識別子を付けるようにしましょう。

まとめ

まとめ
まとめ

Javaの識別子について学びました。識別子は変数やメソッド名、クラス名などに使われる名前で、命名のルールを守らなければコンパイルエラーになります。識別子には英文字、大文字小文字、数字、アンダースコア「_」、ドル記号「$」が使えますが、数字で始めることはできず、予約語も使用できません。また、アンダースコア単体の識別子や混同を招きやすい命名も避けるべきです。これらのルールを守ることで、プログラムの可読性やメンテナンス性が向上します。

以下は、識別子のルールに基づいて安全にプログラムを記述する例です。


public class SummaryExample {
    public static void main(String[] args) {
        int validIdentifier = 42;  // 正しい識別子
        int _specialVar = 100;     // アンダースコアの利用も可能
        int $price = 250;          // ドル記号の利用も可能
        
        // 出力して確認
        System.out.println("識別子 validIdentifier の値: " + validIdentifier);
        System.out.println("識別子 _specialVar の値: " + _specialVar);
        System.out.println("識別子 $price の値: " + $price);
    }
}

実行結果:


識別子 validIdentifier の値: 42
識別子 _specialVar の値: 100
識別子 $price の値: 250

このように、ルールを守った識別子はエラーなく動作し、プログラムの可読性を損なうこともありません。

先生と生徒の振り返り会話

生徒

「識別子のルールを学んで、間違いやすいポイントがわかりました。予約語を識別子に使えない理由も納得です。」

先生

「その通りですね。識別子のルールを守ることで、エラーを回避しやすくなり、他の人がコードを読んだときも分かりやすくなります。」

生徒

「具体的に使える記号や始められる文字が分かったので、自信を持ってコードを書けそうです!」

先生

「良い姿勢ですね!識別子のルールは基本ですが、Javaプログラム全体の品質に大きく関わります。今後も注意しながら学習を続けていきましょう。」

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

Javaの識別子とは何ですか?初心者でも分かるように教えてください。

Javaの識別子とは、変数名やメソッド名、クラス名などの名前を指します。識別子はJavaプログラムの中で特定の要素を区別するために使われる名前で、ルールに従って命名する必要があります。

Javaの識別子で使える文字や記号にはどんなものがありますか?

Javaの識別子には、英字(大文字・小文字)、数字、アンダースコア(_)、ドル記号($)を使用できます。ただし、識別子の最初に数字を使うことはできません。

Javaの識別子は数字で始めてもいいですか?

いいえ、Javaの識別子は数字で始めることはできません。識別子は必ず英字、アンダースコア、またはドル記号で始める必要があります。
JavaSilver試験対策の一覧へ
新着記事
Java
Java の古い日付クラス(Date, Calendar)と新しい日付 API の違い
JavaのDateとCalendarと新しい日付APIの違いとは?初心者向け完全ガイド
Java
Java のカレンダー機能(java.util.Calendar)の使い方
JavaのCalendarクラスの使い方をわかりやすく解説!日付や時刻の操作に便利な基本機能まとめ
Flutter
Dartのパッケージ管理(pubspec.yaml)の使い方
FlutterとDartのパッケージ管理完全ガイド!pubspec.yamlの使い方を初心者向けに徹底解説
Java
Java のミリ秒(Unix タイムスタンプ)を取得・変換する方法
JavaでUnixタイムスタンプ(ミリ秒)を取得・変換する方法を徹底解説!
人気記事
Java
Java の Random クラスを使ってランダムな数値を生成する方法
JavaのRandomクラスの使い方を完全ガイド!初心者でもわかる乱数生成
Java
Java の getter メソッドと setter メソッドの使い方
Javaのgetterメソッドとsetterメソッドの使い方を完全ガイド!初心者でもわかるアクセス方法
AWS
【AWS】RDSの料金体系まとめ!ざっくり理解・高いと感じる理由も解説
【AWS】RDSの料金体系まとめ!ざっくり理解・高いと感じる理由も解説
AWS
【AWS】VPCとは?初心者向けに仕組み・用途・できることをわかりやすく解説
【AWS】VPCとは?初心者向けに仕組み・用途・できることをわかりやすく解説

🔌 USBポート不足を解消

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

UGREEN USB-Cハブを見る

※ Amazon広告リンク