How to resolve the "java illegal start of expression" error

The "illegal start of expression" error in Java can be caused by any one of the following three reasons:

svg viewer
$1.$ Missing an opening or closing curly bracket for a code block (i.e., function, conditional code, loop, etc):
public void foo(){
    System.out.println("No closing bracket for this function.");

This has to be resolved manually by looking for a pair of curly brackets for each code block and completing the missing ones.

$2.$ Declaring a function inside another function:
public void foo(){
    // Declaring bar() inside foo():
    private int bar(){
        return 10;
    }
}

Move the function declared inside (i.e., bar()) to an appropriate place outside the outer function (i.e., foo()).

$3.$ Using an access specifier with a function's local variable:
private int foo(){
    // Writing 'public' with 'int':
    public int x = 5;
    return x;
}

The local variables of a function are only visible inside it and their scope cannot be widened or narrowed. Remove the access specifiers of the variables to resolve this error.

New on Educative
Learn to Code
Learn any Language as a beginner
Develop a human edge in an AI powered world and learn to code with AI from our beginner friendly catalog
🏆 Leaderboard
Daily Coding Challenge
Solve a new coding challenge every day and climb the leaderboard

Free Resources

Copyright ©2025 Educative, Inc. All rights reserved