case Keyword Usage and Examples
Learn how the case keyword is used in Java's switch statement with examples. Covers syntax, control flow, and best practices.
This reference explains case Keyword Usage and Examples through its syntax, examples and boundaries. Use the linked course lessons when the surrounding Java concepts are unfamiliar.
Use this reference
Identify the documented behavior, read a complete example and check its inputs before applying it.
case Keyword in Java
In Java, the case keyword is a critical part of the switch statement. It defines individual paths of execution based on the value being switched. When the value in the switch matches a case label, the corresponding block of code is executed.
Syntax of switch with case
switch (expression) {
case value1:
// code block
break;
case value2:
// code block
break;
default:
// default code block
}
How Does case Work?
Each case represents a possible match against the switch expression. If the value matches, execution starts from that case. It continues until a break statement or the end of the switch block.
Basic Example
public class DayExample {
public static void main(String[] args) {
int day = 3;
switch (day) {
case 1:
System.out.println("Monday");
break;
case 2:
System.out.println("Tuesday");
break;
case 3:
System.out.println("Wednesday");
break;
default:
System.out.println("Invalid day");
}
}
}
Wednesday
Explanation
Java · example discussed here
public class DayExample {
public static void main(String[] args) {
int day = 3;
switch (day) {
case 1:
System.out.println("Monday");
break;
case 2:
System.out.println("Tuesday");
break;
case 3:
System.out.println("Wednesday");
break;
default:
System.out.println("Invalid day");
}
}
}
The value of day is 3, so the switch jumps directly to case 3 and prints "Wednesday". The break prevents fall-through, stopping execution after the match.
Fall-Through Behavior Without break
If you omit break, Java will continue executing all subsequent case blocks, even if they don’t match. This is called fall-through.
public class FallThroughDemo {
public static void main(String[] args) {
int number = 2;
switch (number) {
case 1:
System.out.println("One");
case 2:
System.out.println("Two");
case 3:
System.out.println("Three");
}
}
}
Two
Three
Grouped case Labels
You can group multiple case labels to execute the same block of code. This avoids repeating code.
public class VowelCheck {
public static void main(String[] args) {
char letter = 'E';
switch (Character.toLowerCase(letter)) {
case 'a':
case 'e':
case 'i':
case 'o':
case 'u':
System.out.println(letter + " is a vowel.");
break;
default:
System.out.println(letter + " is a consonant.");
}
}
}
E is a vowel.
Valid Data Types for switch / case
Until Java 6, switch worked only with int, char, byte, and short. From Java 7 onward, you can also use String and enum types.
Example with String in Switch
public class StringSwitch {
public static void main(String[] args) {
String role = "admin";
switch (role) {
case "admin":
System.out.println("Access granted to admin panel.");
break;
case "user":
System.out.println("Access granted to user dashboard.");
break;
default:
System.out.println("Role not recognized.");
}
}
}
Access granted to admin panel.
Things to Remember
- Each
casevalue must be a constant or literal. - Duplicate
casevalues in the same switch block will cause a compile-time error. breakis optional but often necessary to avoid fall-through.defaultis optional and executed if no case matches.
When Should You Use case ?
Use switch-case when you need to compare a single value against multiple constant options. It improves readability and performance over long chains of if-else statements.
Using this reference
Check the example’s types, inputs and documented behavior before copying it into an application. Some APIs require external libraries, files or platform services; consult their setup notes.
Related explanations: Java Data Types - Primitive and Non-Primitive, Java Class - Blueprint of Objects, Exceptions in Java Introduction.
Supporting documentation: Official Java learning guide.
Reference checks are optional and do not count toward course progress.