Java Reference Library →

case Keyword Usage and Examples

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.

  1. 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 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.

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.

    Reference library →