return
Keyword in Java
The return
keyword in Java is used to exit from a method and optionally send a value back to the caller. It plays a central role in method communication, allowing you to write reusable and logical code blocks.
Where is return
Used?
The return
keyword can be used in two scenarios:
- Returning a value from a method that has a return type.
- Exiting a method early when the return type is
void
.
Basic Syntax of return
return; // Used in void methods
return expression; // Used to return a value from non-void methods
Example 1: Using return
to Exit a void
Method
public class Demo {
public static void greet(String name) {
if (name == null) {
System.out.println("No name provided.");
return; // exits the method early
}
System.out.println("Hello, " + name);
}
public static void main(String[] args) {
greet(null);
greet("Alice");
}
}
No name provided.
Hello, Alice
Explanation
When name
is null
, the return
statement exits the method immediately, skipping the greeting message.
Example 2: Returning a Value from a Method
public class Calculator {
public static int add(int a, int b) {
return a + b;
}
public static void main(String[] args) {
int result = add(10, 20);
System.out.println("Sum: " + result);
}
}
Sum: 30
Explanation
The method add
returns the sum of two integers using the return
keyword. The value is stored in the result
variable in main
and printed.
Example 3: Return with Conditional Logic
public class GradeChecker {
public static String getGrade(int score) {
if (score >= 90) return "A";
if (score >= 80) return "B";
if (score >= 70) return "C";
return "F";
}
public static void main(String[] args) {
System.out.println(getGrade(85));
System.out.println(getGrade(65));
}
}
B
F
Explanation
This shows how return
is used in multiple decision paths. The method exits immediately once a matching condition is found.
Important Rules about return
- If a method has a return type (like
int
,String
, etc.), it must return a value. - If the method is
void
, you can usereturn;
to exit early, but it’s optional. - Code written after a
return
statement in a method is unreachable and will cause a compile-time error.
Example 4: Error - Missing Return Statement
public class Demo {
public static int getNumber(boolean flag) {
if (flag) {
return 10;
}
// Compile-time error: missing return statement
}
}
Best Practices
- Use
return
early to avoid unnecessary nesting of logic. - Ensure every code path in a non-void method returns a value.
- Use meaningful return values to simplify testing and reusability.
When Not to Use return
You should avoid using return
inside deeply nested blocks unless it improves readability. In large methods, excessive returns may reduce clarity.
Summary
The return
keyword in Java serves as the bridge between a method’s logic and its output. Whether you’re cutting short a method’s execution or sending back computed results, mastering return
helps write effective, modular Java code.
Common Interview Questions
- What does the
return
keyword do in avoid
method? - Can a method contain multiple
return
statements? - What happens if a non-void method does not return anything?