Code Fix

初級

Javaの大文字小文字ルール

予約語は小文字、クラス名は大文字始まり。この規則を破ったときに出るエラーを網羅します。

エラーメッセージの読み方

Main.java:1: error: class, interface, enum, or record expected
Main.java
ファイル名
1
行番号 — javacが異常に気づいた位置。原因の行とは限りません
error
種別 — コンパイルエラー。実行まで到達しません
class, interface, enum, or record expected
内容 — javacが期待していたもの、または見つけられなかったもの

このエラーが出る典型パターン

パターン1

 1  Public class Main {
       ^
 2      public static void main(String[] args) {
 3          System.out.println("Hello");
 4      }
 5  }
Main.java:1: error: class, interface, enum, or record expected

Javaの予約語はすべて小文字です。Publicは予約語ではなく、ただの識別子として扱われます。

直し方: Publicpublic にします。

この問題を解いてみる →

広告
広告スロット(未設定)

パターン2

 1  public class Main {
 2      public static void main(String[] args) {
 3          system.out.println("Hello");
               ^
 4      }
 5  }
Main.java:3: error: package system does not exist

クラス名は大文字始まりです。小文字で書くとパッケージ名と解釈され、存在しないと報告されます。

直し方: systemSystem にします。

この問題を解いてみる →

パターン3

 1  public class Main {
 2      public static void main(String[] args) {
 3          string name = "Taiyo";
               ^
 4          System.out.println(name);
 5      }
 6  }
Main.java:3: error: cannot find symbol symbol: class string

Stringはクラスなので大文字始まりです。intやdoubleのような基本型だけが小文字です。

直し方: stringString にします。

この問題を解いてみる →

パターン4

 1  public class Main {
 2      public static void main(String[] args) {
 3          int n = 5;
 4          If (n > 3) {
             ^
 5              System.out.println("big");
 6          }
 7      }
 8  }
Main.java:4: error: ';' expected

ifは予約語で全て小文字です。Ifと書くと予約語として認識されず、識別子と丸括弧の並びとして読まれ、文の終わりを期待されて構文エラーになります。

直し方: Ifif にします。

この問題を解いてみる →

パターン5

 1  public class Main {
 2      public static void main(String[] args) {
 3          For (int i = 0; i < 3; i++) {
             ^
 4              System.out.println(i);
 5          }
 6      }
 7  }
Main.java:3: error: '.class' expected

forも予約語なので小文字限定です。Forと書くと識別子として扱われ、直後の丸括弧の並びが型リテラルの記述と誤解釈され、一見forとは無関係に見えるエラーになります。

直し方: Forfor にします。

この問題を解いてみる →

よくある誤解

エディタで色が変わらないときは、予約語として認識されていない合図です。エラーを見る前に気づけます。

まとめ

Javaの大文字小文字ルールは初級でつまずきやすい項目です。上の5パターンを実際に手で直すと、エラーメッセージのどこを読めばよいかが掴めます。

演習をはじめる

関連するエラー

広告
広告スロット(未設定)