Java case Keyword
Usage and Examples

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

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 case value must be a constant or literal.
  • Duplicate case values in the same switch block will cause a compile-time error.
  • break is optional but often necessary to avoid fall-through.
  • default is 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.

Mallikarjuna Mallisetty, author
About the author

Mallikarjuna Mallisetty

General programming

Mallikarjuna shares practical programming tutorials and foundational concepts designed to help developers learn by building and experimenting.

View LinkedIn profile ↗