Tarrant
Tarrant

Reputation: 179

What does the Java compiler error message "<identifier> expected" mean?

class if{
    public static void main (String args[]){
        int x = 9;
        if (x <= 9){
            System.out.println("Yay");
        }else{
            System.out.println("Yay");
            }
        }
    }

I'm running this from the compiler, using Notepad++ as the text editor. And I am getting an error in the compiler saying <identifier> expected class if. And another error saying illegal start of expression. As well as saying error ";" expected. I have a total of 9 errors.

I made sure to match all the {} and (). Even scraped the program and tried again with the same results.

Upvotes: 5

Views: 35143

Answers (5)

Freshairkaboom
Freshairkaboom

Reputation: 1

Also, it's (String[] args)

Not (String args[])

Upvotes: 0

Mark Peters
Mark Peters

Reputation: 81104

if is a reserved keyword in Java (as seen in your if statement), and is thus not an eligible class name. Choose another name for your class, like IfTesting.

By convention, all class names start with an upper-case letter. The full details for what is and isn't a valid Java identifier are found in the Java Language Specification. In short, it can't be a keyword, true, false, or null.

Upvotes: 12

dckrooney
dckrooney

Reputation: 3121

You can't name your class if, as it's a keyword. Check this for more examples.

Upvotes: 0

Eng.Fouad
Eng.Fouad

Reputation: 117617

You cannot name your class or even a variable with a keyword.

Upvotes: 0

JB Nizet
JB Nizet

Reputation: 691943

You shouldn't call a class "if". It's a reserved Java keyword (that you're using in your program, BTW).

Furthermore, by convention, all classes start with an uppercase letter in Java.

Upvotes: 1

Related Questions