How do I fix a missing return statement error in Java?

Updated October 2026 · How we answer

Short answerAdd a return statement that returns a value of the correct type on all code paths, or change the method's return type to void if it shouldn't return anything.

What causes the error

Java requires that every method with a non-void return type returns a value on every possible execution path. The compiler reports "missing return statement" when it can prove that some path through the method reaches the end without a return.

This often happens when a return is inside an if but not in the matching else, or when a loop might run zero times. The compiler doesn't know your logic, so it assumes the worst case.

How to fix it

Make sure every branch returns a value. The simplest fix is to add a return at the end of the method with a sensible default, or restructure the logic so all paths return.

If the method is not supposed to return anything, change its return type to void and remove the return type from the signature.

  • Add an else branch that returns a value.
  • Add a return statement after a loop that might not execute.
  • Use a default return at the end of the method.
  • Change return type to void if no value is needed.
  • Check that all switch cases return or have a default.

Example

For example, this code fails because the if has no else:

public int getValue(boolean flag) { if (flag) { return 1; } }

Fix it by adding a return after the if, or by adding an else that returns a value.

Common mistakes

  • Thinking the compiler is wrong when it's actually enforcing a rule about all code paths.
  • Forgetting that a return inside a loop doesn't guarantee a return if the loop never runs.
  • Adding a return statement that returns null for primitive types like int or boolean.
From our shopsCaseMorph: Type an idea, see a custom phone case in seconds, then print a one-of-one.