Your app has a menu: 1=New, 2=Open, 3=Save, 4=Quit. With if-else you'd write four conditions. With switch, you list each option clearly - the code mirrors the menu structure perfectly.

Day number to name

Convert a number (1-7) to the day name.

DayName.java
public class DayName {
    public static void main(String[] args) {
        int day = ;
        String name;
        
        switch (day) {
            case 1:
                name = "Monday";
                break;
            case 2:
                name = "Tuesday";
                break;
            case 3:
                name = "Wednesday";
                break;
            case 4:
                name = "Thursday";
                break;
            case 5:
                name = "Friday";
                break;
            case 6:
                name = "Saturday";
                break;
            case 7:
                name = "Sunday";
                break;
            default:
                name = "Invalid day";
        }
        
        System.out.println("Day " + day + " is " + name);
    }
}
public class DayName {
    public static void main(String[] args) {
        int day = ;
        String name;
        
        switch (day) {
            case 1:
                name = "Monday";
                break;
            case 2:
                name = "Tuesday";
                break;
            case 3:
                name = "Wednesday";
                break;
            case 4:
                name = "Thursday";
                break;
            case 5:
                name = "Friday";
                break;
            case 6:
                name = "Saturday";
                break;
            case 7:
                name = "Sunday";
                break;
            default:
                name = "Invalid day";
        }
        
        System.out.println("Day " + day + " is " + name);
    }
}
public class DayName {
    public static void main(String[] args) {
        int day = ;
        String name;
        
        switch (day) {
            case 1:
                name = "Monday";
                break;
            case 2:
                name = "Tuesday";
                break;
            case 3:
                name = "Wednesday";
                break;
            case 4:
                name = "Thursday";
                break;
            case 5:
                name = "Friday";
                break;
            case 6:
                name = "Saturday";
                break;
            case 7:
                name = "Sunday";
                break;
            default:
                name = "Invalid day";
        }
        
        System.out.println("Day " + day + " is " + name);
    }
}
public class DayName {
    public static void main(String[] args) {
        int day = ;
        String name;
        
        switch (day) {
            case 1:
                name = "Monday";
                break;
            case 2:
                name = "Tuesday";
                break;
            case 3:
                name = "Wednesday";
                break;
            case 4:
                name = "Thursday";
                break;
            case 5:
                name = "Friday";
                break;
            case 6:
                name = "Saturday";
                break;
            case 7:
                name = "Sunday";
                break;
            default:
                name = "Invalid day";
        }
        
        System.out.println("Day " + day + " is " + name);
    }
}

Each case handles one value. Don't forget break or execution falls through!

switch Multi-way branch based on a value. Cleaner than long if-else chains.
case A specific value to match: `case 1:`, `case 'A':`, `case "yes":`
break Exit the switch. Without it, execution "falls through" to next case.

Menu option handler

Handle user menu selections with switch.

Menu.java
public class Menu {
    public static void main(String[] args) {
        int choice = ;
        
        System.out.println("=== Main Menu ===");
        System.out.println("1. New Game");
        System.out.println("2. Load Game");
        System.out.println("3. Settings");
        System.out.println("4. Exit");
        System.out.println("Choice: " + choice);
        System.out.println();
        
        switch (choice) {
            case 1:
                System.out.println("Starting new game...");
                break;
            case 2:
                System.out.println("Loading saved game...");
                break;
            case 3:
                System.out.println("Opening settings...");
                break;
            case 4:
                System.out.println("Goodbye!");
                break;
            default:
                System.out.println("Invalid option. Please try again.");
        }
    }
}
public class Menu {
    public static void main(String[] args) {
        int choice = ;
        
        System.out.println("=== Main Menu ===");
        System.out.println("1. New Game");
        System.out.println("2. Load Game");
        System.out.println("3. Settings");
        System.out.println("4. Exit");
        System.out.println("Choice: " + choice);
        System.out.println();
        
        switch (choice) {
            case 1:
                System.out.println("Starting new game...");
                break;
            case 2:
                System.out.println("Loading saved game...");
                break;
            case 3:
                System.out.println("Opening settings...");
                break;
            case 4:
                System.out.println("Goodbye!");
                break;
            default:
                System.out.println("Invalid option. Please try again.");
        }
    }
}
public class Menu {
    public static void main(String[] args) {
        int choice = ;
        
        System.out.println("=== Main Menu ===");
        System.out.println("1. New Game");
        System.out.println("2. Load Game");
        System.out.println("3. Settings");
        System.out.println("4. Exit");
        System.out.println("Choice: " + choice);
        System.out.println();
        
        switch (choice) {
            case 1:
                System.out.println("Starting new game...");
                break;
            case 2:
                System.out.println("Loading saved game...");
                break;
            case 3:
                System.out.println("Opening settings...");
                break;
            case 4:
                System.out.println("Goodbye!");
                break;
            default:
                System.out.println("Invalid option. Please try again.");
        }
    }
}
public class Menu {
    public static void main(String[] args) {
        int choice = ;
        
        System.out.println("=== Main Menu ===");
        System.out.println("1. New Game");
        System.out.println("2. Load Game");
        System.out.println("3. Settings");
        System.out.println("4. Exit");
        System.out.println("Choice: " + choice);
        System.out.println();
        
        switch (choice) {
            case 1:
                System.out.println("Starting new game...");
                break;
            case 2:
                System.out.println("Loading saved game...");
                break;
            case 3:
                System.out.println("Opening settings...");
                break;
            case 4:
                System.out.println("Goodbye!");
                break;
            default:
                System.out.println("Invalid option. Please try again.");
        }
    }
}
public class Menu {
    public static void main(String[] args) {
        int choice = ;
        
        System.out.println("=== Main Menu ===");
        System.out.println("1. New Game");
        System.out.println("2. Load Game");
        System.out.println("3. Settings");
        System.out.println("4. Exit");
        System.out.println("Choice: " + choice);
        System.out.println();
        
        switch (choice) {
            case 1:
                System.out.println("Starting new game...");
                break;
            case 2:
                System.out.println("Loading saved game...");
                break;
            case 3:
                System.out.println("Opening settings...");
                break;
            case 4:
                System.out.println("Goodbye!");
                break;
            default:
                System.out.println("Invalid option. Please try again.");
        }
    }
}

Switch is perfect for menu systems - each option maps to an action.

Grade to description

Convert letter grades to descriptions.

Grade.java
public class Grade {
    public static void main(String[] args) {
        char grade = ;
        String description;
        
        switch (grade) {
            case 'A':
                description = "Excellent work!";
                break;
            case 'B':
                description = "Good job!";
                break;
            case 'C':
                description = "Satisfactory";
                break;
            case 'D':
                description = "Needs improvement";
                break;
            case 'F':
                description = "Please see instructor";
                break;
            default:
                description = "Invalid grade";
        }
        
        System.out.println("Grade: " + grade);
        System.out.println("Feedback: " + description);
    }
}
public class Grade {
    public static void main(String[] args) {
        char grade = ;
        String description;
        
        switch (grade) {
            case 'A':
                description = "Excellent work!";
                break;
            case 'B':
                description = "Good job!";
                break;
            case 'C':
                description = "Satisfactory";
                break;
            case 'D':
                description = "Needs improvement";
                break;
            case 'F':
                description = "Please see instructor";
                break;
            default:
                description = "Invalid grade";
        }
        
        System.out.println("Grade: " + grade);
        System.out.println("Feedback: " + description);
    }
}
public class Grade {
    public static void main(String[] args) {
        char grade = ;
        String description;
        
        switch (grade) {
            case 'A':
                description = "Excellent work!";
                break;
            case 'B':
                description = "Good job!";
                break;
            case 'C':
                description = "Satisfactory";
                break;
            case 'D':
                description = "Needs improvement";
                break;
            case 'F':
                description = "Please see instructor";
                break;
            default:
                description = "Invalid grade";
        }
        
        System.out.println("Grade: " + grade);
        System.out.println("Feedback: " + description);
    }
}
public class Grade {
    public static void main(String[] args) {
        char grade = ;
        String description;
        
        switch (grade) {
            case 'A':
                description = "Excellent work!";
                break;
            case 'B':
                description = "Good job!";
                break;
            case 'C':
                description = "Satisfactory";
                break;
            case 'D':
                description = "Needs improvement";
                break;
            case 'F':
                description = "Please see instructor";
                break;
            default:
                description = "Invalid grade";
        }
        
        System.out.println("Grade: " + grade);
        System.out.println("Feedback: " + description);
    }
}
public class Grade {
    public static void main(String[] args) {
        char grade = ;
        String description;
        
        switch (grade) {
            case 'A':
                description = "Excellent work!";
                break;
            case 'B':
                description = "Good job!";
                break;
            case 'C':
                description = "Satisfactory";
                break;
            case 'D':
                description = "Needs improvement";
                break;
            case 'F':
                description = "Please see instructor";
                break;
            default:
                description = "Invalid grade";
        }
        
        System.out.println("Grade: " + grade);
        System.out.println("Feedback: " + description);
    }
}

default handles any value not matched by a case.

default Handles any value not matched by a case. Like the final `else`.

Calculator operator

Implement a basic calculator using switch.

Calculator.java
public class Calculator {
    public static void main(String[] args) {
        double a = ;
        double b = ;
        char op = ;
        
        double result;
        boolean valid = true;
        
        switch (op) {
            case '+':
                result = a + b;
                break;
            case '-':
                result = a - b;
                break;
            case '*':
                result = a * b;
                break;
            case '/':
                if (b != 0) {
                    result = a / b;
                } else {
                    System.out.println("Error: Division by zero");
                    result = 0;
                    valid = false;
                }
                break;
            case '%':
                result = a % b;
                break;
            default:
                System.out.println("Unknown operator: " + op);
                result = 0;
                valid = false;
        }
        
        if (valid) {
            System.out.println(a + " " + op + " " + b + " = " + result);
        }
    }
}
public class Calculator {
    public static void main(String[] args) {
        double a = ;
        double b = ;
        char op = ;
        
        double result;
        boolean valid = true;
        
        switch (op) {
            case '+':
                result = a + b;
                break;
            case '-':
                result = a - b;
                break;
            case '*':
                result = a * b;
                break;
            case '/':
                if (b != 0) {
                    result = a / b;
                } else {
                    System.out.println("Error: Division by zero");
                    result = 0;
                    valid = false;
                }
                break;
            case '%':
                result = a % b;
                break;
            default:
                System.out.println("Unknown operator: " + op);
                result = 0;
                valid = false;
        }
        
        if (valid) {
            System.out.println(a + " " + op + " " + b + " = " + result);
        }
    }
}
public class Calculator {
    public static void main(String[] args) {
        double a = ;
        double b = ;
        char op = ;
        
        double result;
        boolean valid = true;
        
        switch (op) {
            case '+':
                result = a + b;
                break;
            case '-':
                result = a - b;
                break;
            case '*':
                result = a * b;
                break;
            case '/':
                if (b != 0) {
                    result = a / b;
                } else {
                    System.out.println("Error: Division by zero");
                    result = 0;
                    valid = false;
                }
                break;
            case '%':
                result = a % b;
                break;
            default:
                System.out.println("Unknown operator: " + op);
                result = 0;
                valid = false;
        }
        
        if (valid) {
            System.out.println(a + " " + op + " " + b + " = " + result);
        }
    }
}
public class Calculator {
    public static void main(String[] args) {
        double a = ;
        double b = ;
        char op = ;
        
        double result;
        boolean valid = true;
        
        switch (op) {
            case '+':
                result = a + b;
                break;
            case '-':
                result = a - b;
                break;
            case '*':
                result = a * b;
                break;
            case '/':
                if (b != 0) {
                    result = a / b;
                } else {
                    System.out.println("Error: Division by zero");
                    result = 0;
                    valid = false;
                }
                break;
            case '%':
                result = a % b;
                break;
            default:
                System.out.println("Unknown operator: " + op);
                result = 0;
                valid = false;
        }
        
        if (valid) {
            System.out.println(a + " " + op + " " + b + " = " + result);
        }
    }
}
public class Calculator {
    public static void main(String[] args) {
        double a = ;
        double b = ;
        char op = ;
        
        double result;
        boolean valid = true;
        
        switch (op) {
            case '+':
                result = a + b;
                break;
            case '-':
                result = a - b;
                break;
            case '*':
                result = a * b;
                break;
            case '/':
                if (b != 0) {
                    result = a / b;
                } else {
                    System.out.println("Error: Division by zero");
                    result = 0;
                    valid = false;
                }
                break;
            case '%':
                result = a % b;
                break;
            default:
                System.out.println("Unknown operator: " + op);
                result = 0;
                valid = false;
        }
        
        if (valid) {
            System.out.println(a + " " + op + " " + b + " = " + result);
        }
    }
}
public class Calculator {
    public static void main(String[] args) {
        double a = ;
        double b = ;
        char op = ;
        
        double result;
        boolean valid = true;
        
        switch (op) {
            case '+':
                result = a + b;
                break;
            case '-':
                result = a - b;
                break;
            case '*':
                result = a * b;
                break;
            case '/':
                if (b != 0) {
                    result = a / b;
                } else {
                    System.out.println("Error: Division by zero");
                    result = 0;
                    valid = false;
                }
                break;
            case '%':
                result = a % b;
                break;
            default:
                System.out.println("Unknown operator: " + op);
                result = 0;
                valid = false;
        }
        
        if (valid) {
            System.out.println(a + " " + op + " " + b + " = " + result);
        }
    }
}
public class Calculator {
    public static void main(String[] args) {
        double a = ;
        double b = ;
        char op = ;
        
        double result;
        boolean valid = true;
        
        switch (op) {
            case '+':
                result = a + b;
                break;
            case '-':
                result = a - b;
                break;
            case '*':
                result = a * b;
                break;
            case '/':
                if (b != 0) {
                    result = a / b;
                } else {
                    System.out.println("Error: Division by zero");
                    result = 0;
                    valid = false;
                }
                break;
            case '%':
                result = a % b;
                break;
            default:
                System.out.println("Unknown operator: " + op);
                result = 0;
                valid = false;
        }
        
        if (valid) {
            System.out.println(a + " " + op + " " + b + " = " + result);
        }
    }
}
public class Calculator {
    public static void main(String[] args) {
        double a = ;
        double b = ;
        char op = ;
        
        double result;
        boolean valid = true;
        
        switch (op) {
            case '+':
                result = a + b;
                break;
            case '-':
                result = a - b;
                break;
            case '*':
                result = a * b;
                break;
            case '/':
                if (b != 0) {
                    result = a / b;
                } else {
                    System.out.println("Error: Division by zero");
                    result = 0;
                    valid = false;
                }
                break;
            case '%':
                result = a % b;
                break;
            default:
                System.out.println("Unknown operator: " + op);
                result = 0;
                valid = false;
        }
        
        if (valid) {
            System.out.println(a + " " + op + " " + b + " = " + result);
        }
    }
}
public class Calculator {
    public static void main(String[] args) {
        double a = ;
        double b = ;
        char op = ;
        
        double result;
        boolean valid = true;
        
        switch (op) {
            case '+':
                result = a + b;
                break;
            case '-':
                result = a - b;
                break;
            case '*':
                result = a * b;
                break;
            case '/':
                if (b != 0) {
                    result = a / b;
                } else {
                    System.out.println("Error: Division by zero");
                    result = 0;
                    valid = false;
                }
                break;
            case '%':
                result = a % b;
                break;
            default:
                System.out.println("Unknown operator: " + op);
                result = 0;
                valid = false;
        }
        
        if (valid) {
            System.out.println(a + " " + op + " " + b + " = " + result);
        }
    }
}
public class Calculator {
    public static void main(String[] args) {
        double a = ;
        double b = ;
        char op = ;
        
        double result;
        boolean valid = true;
        
        switch (op) {
            case '+':
                result = a + b;
                break;
            case '-':
                result = a - b;
                break;
            case '*':
                result = a * b;
                break;
            case '/':
                if (b != 0) {
                    result = a / b;
                } else {
                    System.out.println("Error: Division by zero");
                    result = 0;
                    valid = false;
                }
                break;
            case '%':
                result = a % b;
                break;
            default:
                System.out.println("Unknown operator: " + op);
                result = 0;
                valid = false;
        }
        
        if (valid) {
            System.out.println(a + " " + op + " " + b + " = " + result);
        }
    }
}
public class Calculator {
    public static void main(String[] args) {
        double a = ;
        double b = ;
        char op = ;
        
        double result;
        boolean valid = true;
        
        switch (op) {
            case '+':
                result = a + b;
                break;
            case '-':
                result = a - b;
                break;
            case '*':
                result = a * b;
                break;
            case '/':
                if (b != 0) {
                    result = a / b;
                } else {
                    System.out.println("Error: Division by zero");
                    result = 0;
                    valid = false;
                }
                break;
            case '%':
                result = a % b;
                break;
            default:
                System.out.println("Unknown operator: " + op);
                result = 0;
                valid = false;
        }
        
        if (valid) {
            System.out.println(a + " " + op + " " + b + " = " + result);
        }
    }
}
public class Calculator {
    public static void main(String[] args) {
        double a = ;
        double b = ;
        char op = ;
        
        double result;
        boolean valid = true;
        
        switch (op) {
            case '+':
                result = a + b;
                break;
            case '-':
                result = a - b;
                break;
            case '*':
                result = a * b;
                break;
            case '/':
                if (b != 0) {
                    result = a / b;
                } else {
                    System.out.println("Error: Division by zero");
                    result = 0;
                    valid = false;
                }
                break;
            case '%':
                result = a % b;
                break;
            default:
                System.out.println("Unknown operator: " + op);
                result = 0;
                valid = false;
        }
        
        if (valid) {
            System.out.println(a + " " + op + " " + b + " = " + result);
        }
    }
}
public class Calculator {
    public static void main(String[] args) {
        double a = ;
        double b = ;
        char op = ;
        
        double result;
        boolean valid = true;
        
        switch (op) {
            case '+':
                result = a + b;
                break;
            case '-':
                result = a - b;
                break;
            case '*':
                result = a * b;
                break;
            case '/':
                if (b != 0) {
                    result = a / b;
                } else {
                    System.out.println("Error: Division by zero");
                    result = 0;
                    valid = false;
                }
                break;
            case '%':
                result = a % b;
                break;
            default:
                System.out.println("Unknown operator: " + op);
                result = 0;
                valid = false;
        }
        
        if (valid) {
            System.out.println(a + " " + op + " " + b + " = " + result);
        }
    }
}
public class Calculator {
    public static void main(String[] args) {
        double a = ;
        double b = ;
        char op = ;
        
        double result;
        boolean valid = true;
        
        switch (op) {
            case '+':
                result = a + b;
                break;
            case '-':
                result = a - b;
                break;
            case '*':
                result = a * b;
                break;
            case '/':
                if (b != 0) {
                    result = a / b;
                } else {
                    System.out.println("Error: Division by zero");
                    result = 0;
                    valid = false;
                }
                break;
            case '%':
                result = a % b;
                break;
            default:
                System.out.println("Unknown operator: " + op);
                result = 0;
                valid = false;
        }
        
        if (valid) {
            System.out.println(a + " " + op + " " + b + " = " + result);
        }
    }
}
public class Calculator {
    public static void main(String[] args) {
        double a = ;
        double b = ;
        char op = ;
        
        double result;
        boolean valid = true;
        
        switch (op) {
            case '+':
                result = a + b;
                break;
            case '-':
                result = a - b;
                break;
            case '*':
                result = a * b;
                break;
            case '/':
                if (b != 0) {
                    result = a / b;
                } else {
                    System.out.println("Error: Division by zero");
                    result = 0;
                    valid = false;
                }
                break;
            case '%':
                result = a % b;
                break;
            default:
                System.out.println("Unknown operator: " + op);
                result = 0;
                valid = false;
        }
        
        if (valid) {
            System.out.println(a + " " + op + " " + b + " = " + result);
        }
    }
}
public class Calculator {
    public static void main(String[] args) {
        double a = ;
        double b = ;
        char op = ;
        
        double result;
        boolean valid = true;
        
        switch (op) {
            case '+':
                result = a + b;
                break;
            case '-':
                result = a - b;
                break;
            case '*':
                result = a * b;
                break;
            case '/':
                if (b != 0) {
                    result = a / b;
                } else {
                    System.out.println("Error: Division by zero");
                    result = 0;
                    valid = false;
                }
                break;
            case '%':
                result = a % b;
                break;
            default:
                System.out.println("Unknown operator: " + op);
                result = 0;
                valid = false;
        }
        
        if (valid) {
            System.out.println(a + " " + op + " " + b + " = " + result);
        }
    }
}
public class Calculator {
    public static void main(String[] args) {
        double a = ;
        double b = ;
        char op = ;
        
        double result;
        boolean valid = true;
        
        switch (op) {
            case '+':
                result = a + b;
                break;
            case '-':
                result = a - b;
                break;
            case '*':
                result = a * b;
                break;
            case '/':
                if (b != 0) {
                    result = a / b;
                } else {
                    System.out.println("Error: Division by zero");
                    result = 0;
                    valid = false;
                }
                break;
            case '%':
                result = a % b;
                break;
            default:
                System.out.println("Unknown operator: " + op);
                result = 0;
                valid = false;
        }
        
        if (valid) {
            System.out.println(a + " " + op + " " + b + " = " + result);
        }
    }
}
public class Calculator {
    public static void main(String[] args) {
        double a = ;
        double b = ;
        char op = ;
        
        double result;
        boolean valid = true;
        
        switch (op) {
            case '+':
                result = a + b;
                break;
            case '-':
                result = a - b;
                break;
            case '*':
                result = a * b;
                break;
            case '/':
                if (b != 0) {
                    result = a / b;
                } else {
                    System.out.println("Error: Division by zero");
                    result = 0;
                    valid = false;
                }
                break;
            case '%':
                result = a % b;
                break;
            default:
                System.out.println("Unknown operator: " + op);
                result = 0;
                valid = false;
        }
        
        if (valid) {
            System.out.println(a + " " + op + " " + b + " = " + result);
        }
    }
}
public class Calculator {
    public static void main(String[] args) {
        double a = ;
        double b = ;
        char op = ;
        
        double result;
        boolean valid = true;
        
        switch (op) {
            case '+':
                result = a + b;
                break;
            case '-':
                result = a - b;
                break;
            case '*':
                result = a * b;
                break;
            case '/':
                if (b != 0) {
                    result = a / b;
                } else {
                    System.out.println("Error: Division by zero");
                    result = 0;
                    valid = false;
                }
                break;
            case '%':
                result = a % b;
                break;
            default:
                System.out.println("Unknown operator: " + op);
                result = 0;
                valid = false;
        }
        
        if (valid) {
            System.out.println(a + " " + op + " " + b + " = " + result);
        }
    }
}
public class Calculator {
    public static void main(String[] args) {
        double a = ;
        double b = ;
        char op = ;
        
        double result;
        boolean valid = true;
        
        switch (op) {
            case '+':
                result = a + b;
                break;
            case '-':
                result = a - b;
                break;
            case '*':
                result = a * b;
                break;
            case '/':
                if (b != 0) {
                    result = a / b;
                } else {
                    System.out.println("Error: Division by zero");
                    result = 0;
                    valid = false;
                }
                break;
            case '%':
                result = a % b;
                break;
            default:
                System.out.println("Unknown operator: " + op);
                result = 0;
                valid = false;
        }
        
        if (valid) {
            System.out.println(a + " " + op + " " + b + " = " + result);
        }
    }
}
public class Calculator {
    public static void main(String[] args) {
        double a = ;
        double b = ;
        char op = ;
        
        double result;
        boolean valid = true;
        
        switch (op) {
            case '+':
                result = a + b;
                break;
            case '-':
                result = a - b;
                break;
            case '*':
                result = a * b;
                break;
            case '/':
                if (b != 0) {
                    result = a / b;
                } else {
                    System.out.println("Error: Division by zero");
                    result = 0;
                    valid = false;
                }
                break;
            case '%':
                result = a % b;
                break;
            default:
                System.out.println("Unknown operator: " + op);
                result = 0;
                valid = false;
        }
        
        if (valid) {
            System.out.println(a + " " + op + " " + b + " = " + result);
        }
    }
}
public class Calculator {
    public static void main(String[] args) {
        double a = ;
        double b = ;
        char op = ;
        
        double result;
        boolean valid = true;
        
        switch (op) {
            case '+':
                result = a + b;
                break;
            case '-':
                result = a - b;
                break;
            case '*':
                result = a * b;
                break;
            case '/':
                if (b != 0) {
                    result = a / b;
                } else {
                    System.out.println("Error: Division by zero");
                    result = 0;
                    valid = false;
                }
                break;
            case '%':
                result = a % b;
                break;
            default:
                System.out.println("Unknown operator: " + op);
                result = 0;
                valid = false;
        }
        
        if (valid) {
            System.out.println(a + " " + op + " " + b + " = " + result);
        }
    }
}
public class Calculator {
    public static void main(String[] args) {
        double a = ;
        double b = ;
        char op = ;
        
        double result;
        boolean valid = true;
        
        switch (op) {
            case '+':
                result = a + b;
                break;
            case '-':
                result = a - b;
                break;
            case '*':
                result = a * b;
                break;
            case '/':
                if (b != 0) {
                    result = a / b;
                } else {
                    System.out.println("Error: Division by zero");
                    result = 0;
                    valid = false;
                }
                break;
            case '%':
                result = a % b;
                break;
            default:
                System.out.println("Unknown operator: " + op);
                result = 0;
                valid = false;
        }
        
        if (valid) {
            System.out.println(a + " " + op + " " + b + " = " + result);
        }
    }
}
public class Calculator {
    public static void main(String[] args) {
        double a = ;
        double b = ;
        char op = ;
        
        double result;
        boolean valid = true;
        
        switch (op) {
            case '+':
                result = a + b;
                break;
            case '-':
                result = a - b;
                break;
            case '*':
                result = a * b;
                break;
            case '/':
                if (b != 0) {
                    result = a / b;
                } else {
                    System.out.println("Error: Division by zero");
                    result = 0;
                    valid = false;
                }
                break;
            case '%':
                result = a % b;
                break;
            default:
                System.out.println("Unknown operator: " + op);
                result = 0;
                valid = false;
        }
        
        if (valid) {
            System.out.println(a + " " + op + " " + b + " = " + result);
        }
    }
}
public class Calculator {
    public static void main(String[] args) {
        double a = ;
        double b = ;
        char op = ;
        
        double result;
        boolean valid = true;
        
        switch (op) {
            case '+':
                result = a + b;
                break;
            case '-':
                result = a - b;
                break;
            case '*':
                result = a * b;
                break;
            case '/':
                if (b != 0) {
                    result = a / b;
                } else {
                    System.out.println("Error: Division by zero");
                    result = 0;
                    valid = false;
                }
                break;
            case '%':
                result = a % b;
                break;
            default:
                System.out.println("Unknown operator: " + op);
                result = 0;
                valid = false;
        }
        
        if (valid) {
            System.out.println(a + " " + op + " " + b + " = " + result);
        }
    }
}
public class Calculator {
    public static void main(String[] args) {
        double a = ;
        double b = ;
        char op = ;
        
        double result;
        boolean valid = true;
        
        switch (op) {
            case '+':
                result = a + b;
                break;
            case '-':
                result = a - b;
                break;
            case '*':
                result = a * b;
                break;
            case '/':
                if (b != 0) {
                    result = a / b;
                } else {
                    System.out.println("Error: Division by zero");
                    result = 0;
                    valid = false;
                }
                break;
            case '%':
                result = a % b;
                break;
            default:
                System.out.println("Unknown operator: " + op);
                result = 0;
                valid = false;
        }
        
        if (valid) {
            System.out.println(a + " " + op + " " + b + " = " + result);
        }
    }
}
public class Calculator {
    public static void main(String[] args) {
        double a = ;
        double b = ;
        char op = ;
        
        double result;
        boolean valid = true;
        
        switch (op) {
            case '+':
                result = a + b;
                break;
            case '-':
                result = a - b;
                break;
            case '*':
                result = a * b;
                break;
            case '/':
                if (b != 0) {
                    result = a / b;
                } else {
                    System.out.println("Error: Division by zero");
                    result = 0;
                    valid = false;
                }
                break;
            case '%':
                result = a % b;
                break;
            default:
                System.out.println("Unknown operator: " + op);
                result = 0;
                valid = false;
        }
        
        if (valid) {
            System.out.println(a + " " + op + " " + b + " = " + result);
        }
    }
}
public class Calculator {
    public static void main(String[] args) {
        double a = ;
        double b = ;
        char op = ;
        
        double result;
        boolean valid = true;
        
        switch (op) {
            case '+':
                result = a + b;
                break;
            case '-':
                result = a - b;
                break;
            case '*':
                result = a * b;
                break;
            case '/':
                if (b != 0) {
                    result = a / b;
                } else {
                    System.out.println("Error: Division by zero");
                    result = 0;
                    valid = false;
                }
                break;
            case '%':
                result = a % b;
                break;
            default:
                System.out.println("Unknown operator: " + op);
                result = 0;
                valid = false;
        }
        
        if (valid) {
            System.out.println(a + " " + op + " " + b + " = " + result);
        }
    }
}
public class Calculator {
    public static void main(String[] args) {
        double a = ;
        double b = ;
        char op = ;
        
        double result;
        boolean valid = true;
        
        switch (op) {
            case '+':
                result = a + b;
                break;
            case '-':
                result = a - b;
                break;
            case '*':
                result = a * b;
                break;
            case '/':
                if (b != 0) {
                    result = a / b;
                } else {
                    System.out.println("Error: Division by zero");
                    result = 0;
                    valid = false;
                }
                break;
            case '%':
                result = a % b;
                break;
            default:
                System.out.println("Unknown operator: " + op);
                result = 0;
                valid = false;
        }
        
        if (valid) {
            System.out.println(a + " " + op + " " + b + " = " + result);
        }
    }
}
public class Calculator {
    public static void main(String[] args) {
        double a = ;
        double b = ;
        char op = ;
        
        double result;
        boolean valid = true;
        
        switch (op) {
            case '+':
                result = a + b;
                break;
            case '-':
                result = a - b;
                break;
            case '*':
                result = a * b;
                break;
            case '/':
                if (b != 0) {
                    result = a / b;
                } else {
                    System.out.println("Error: Division by zero");
                    result = 0;
                    valid = false;
                }
                break;
            case '%':
                result = a % b;
                break;
            default:
                System.out.println("Unknown operator: " + op);
                result = 0;
                valid = false;
        }
        
        if (valid) {
            System.out.println(a + " " + op + " " + b + " = " + result);
        }
    }
}
public class Calculator {
    public static void main(String[] args) {
        double a = ;
        double b = ;
        char op = ;
        
        double result;
        boolean valid = true;
        
        switch (op) {
            case '+':
                result = a + b;
                break;
            case '-':
                result = a - b;
                break;
            case '*':
                result = a * b;
                break;
            case '/':
                if (b != 0) {
                    result = a / b;
                } else {
                    System.out.println("Error: Division by zero");
                    result = 0;
                    valid = false;
                }
                break;
            case '%':
                result = a % b;
                break;
            default:
                System.out.println("Unknown operator: " + op);
                result = 0;
                valid = false;
        }
        
        if (valid) {
            System.out.println(a + " " + op + " " + b + " = " + result);
        }
    }
}
public class Calculator {
    public static void main(String[] args) {
        double a = ;
        double b = ;
        char op = ;
        
        double result;
        boolean valid = true;
        
        switch (op) {
            case '+':
                result = a + b;
                break;
            case '-':
                result = a - b;
                break;
            case '*':
                result = a * b;
                break;
            case '/':
                if (b != 0) {
                    result = a / b;
                } else {
                    System.out.println("Error: Division by zero");
                    result = 0;
                    valid = false;
                }
                break;
            case '%':
                result = a % b;
                break;
            default:
                System.out.println("Unknown operator: " + op);
                result = 0;
                valid = false;
        }
        
        if (valid) {
            System.out.println(a + " " + op + " " + b + " = " + result);
        }
    }
}
public class Calculator {
    public static void main(String[] args) {
        double a = ;
        double b = ;
        char op = ;
        
        double result;
        boolean valid = true;
        
        switch (op) {
            case '+':
                result = a + b;
                break;
            case '-':
                result = a - b;
                break;
            case '*':
                result = a * b;
                break;
            case '/':
                if (b != 0) {
                    result = a / b;
                } else {
                    System.out.println("Error: Division by zero");
                    result = 0;
                    valid = false;
                }
                break;
            case '%':
                result = a % b;
                break;
            default:
                System.out.println("Unknown operator: " + op);
                result = 0;
                valid = false;
        }
        
        if (valid) {
            System.out.println(a + " " + op + " " + b + " = " + result);
        }
    }
}
public class Calculator {
    public static void main(String[] args) {
        double a = ;
        double b = ;
        char op = ;
        
        double result;
        boolean valid = true;
        
        switch (op) {
            case '+':
                result = a + b;
                break;
            case '-':
                result = a - b;
                break;
            case '*':
                result = a * b;
                break;
            case '/':
                if (b != 0) {
                    result = a / b;
                } else {
                    System.out.println("Error: Division by zero");
                    result = 0;
                    valid = false;
                }
                break;
            case '%':
                result = a % b;
                break;
            default:
                System.out.println("Unknown operator: " + op);
                result = 0;
                valid = false;
        }
        
        if (valid) {
            System.out.println(a + " " + op + " " + b + " = " + result);
        }
    }
}
public class Calculator {
    public static void main(String[] args) {
        double a = ;
        double b = ;
        char op = ;
        
        double result;
        boolean valid = true;
        
        switch (op) {
            case '+':
                result = a + b;
                break;
            case '-':
                result = a - b;
                break;
            case '*':
                result = a * b;
                break;
            case '/':
                if (b != 0) {
                    result = a / b;
                } else {
                    System.out.println("Error: Division by zero");
                    result = 0;
                    valid = false;
                }
                break;
            case '%':
                result = a % b;
                break;
            default:
                System.out.println("Unknown operator: " + op);
                result = 0;
                valid = false;
        }
        
        if (valid) {
            System.out.println(a + " " + op + " " + b + " = " + result);
        }
    }
}
public class Calculator {
    public static void main(String[] args) {
        double a = ;
        double b = ;
        char op = ;
        
        double result;
        boolean valid = true;
        
        switch (op) {
            case '+':
                result = a + b;
                break;
            case '-':
                result = a - b;
                break;
            case '*':
                result = a * b;
                break;
            case '/':
                if (b != 0) {
                    result = a / b;
                } else {
                    System.out.println("Error: Division by zero");
                    result = 0;
                    valid = false;
                }
                break;
            case '%':
                result = a % b;
                break;
            default:
                System.out.println("Unknown operator: " + op);
                result = 0;
                valid = false;
        }
        
        if (valid) {
            System.out.println(a + " " + op + " " + b + " = " + result);
        }
    }
}
public class Calculator {
    public static void main(String[] args) {
        double a = ;
        double b = ;
        char op = ;
        
        double result;
        boolean valid = true;
        
        switch (op) {
            case '+':
                result = a + b;
                break;
            case '-':
                result = a - b;
                break;
            case '*':
                result = a * b;
                break;
            case '/':
                if (b != 0) {
                    result = a / b;
                } else {
                    System.out.println("Error: Division by zero");
                    result = 0;
                    valid = false;
                }
                break;
            case '%':
                result = a % b;
                break;
            default:
                System.out.println("Unknown operator: " + op);
                result = 0;
                valid = false;
        }
        
        if (valid) {
            System.out.println(a + " " + op + " " + b + " = " + result);
        }
    }
}
public class Calculator {
    public static void main(String[] args) {
        double a = ;
        double b = ;
        char op = ;
        
        double result;
        boolean valid = true;
        
        switch (op) {
            case '+':
                result = a + b;
                break;
            case '-':
                result = a - b;
                break;
            case '*':
                result = a * b;
                break;
            case '/':
                if (b != 0) {
                    result = a / b;
                } else {
                    System.out.println("Error: Division by zero");
                    result = 0;
                    valid = false;
                }
                break;
            case '%':
                result = a % b;
                break;
            default:
                System.out.println("Unknown operator: " + op);
                result = 0;
                valid = false;
        }
        
        if (valid) {
            System.out.println(a + " " + op + " " + b + " = " + result);
        }
    }
}
public class Calculator {
    public static void main(String[] args) {
        double a = ;
        double b = ;
        char op = ;
        
        double result;
        boolean valid = true;
        
        switch (op) {
            case '+':
                result = a + b;
                break;
            case '-':
                result = a - b;
                break;
            case '*':
                result = a * b;
                break;
            case '/':
                if (b != 0) {
                    result = a / b;
                } else {
                    System.out.println("Error: Division by zero");
                    result = 0;
                    valid = false;
                }
                break;
            case '%':
                result = a % b;
                break;
            default:
                System.out.println("Unknown operator: " + op);
                result = 0;
                valid = false;
        }
        
        if (valid) {
            System.out.println(a + " " + op + " " + b + " = " + result);
        }
    }
}
public class Calculator {
    public static void main(String[] args) {
        double a = ;
        double b = ;
        char op = ;
        
        double result;
        boolean valid = true;
        
        switch (op) {
            case '+':
                result = a + b;
                break;
            case '-':
                result = a - b;
                break;
            case '*':
                result = a * b;
                break;
            case '/':
                if (b != 0) {
                    result = a / b;
                } else {
                    System.out.println("Error: Division by zero");
                    result = 0;
                    valid = false;
                }
                break;
            case '%':
                result = a % b;
                break;
            default:
                System.out.println("Unknown operator: " + op);
                result = 0;
                valid = false;
        }
        
        if (valid) {
            System.out.println(a + " " + op + " " + b + " = " + result);
        }
    }
}
public class Calculator {
    public static void main(String[] args) {
        double a = ;
        double b = ;
        char op = ;
        
        double result;
        boolean valid = true;
        
        switch (op) {
            case '+':
                result = a + b;
                break;
            case '-':
                result = a - b;
                break;
            case '*':
                result = a * b;
                break;
            case '/':
                if (b != 0) {
                    result = a / b;
                } else {
                    System.out.println("Error: Division by zero");
                    result = 0;
                    valid = false;
                }
                break;
            case '%':
                result = a % b;
                break;
            default:
                System.out.println("Unknown operator: " + op);
                result = 0;
                valid = false;
        }
        
        if (valid) {
            System.out.println(a + " " + op + " " + b + " = " + result);
        }
    }
}
public class Calculator {
    public static void main(String[] args) {
        double a = ;
        double b = ;
        char op = ;
        
        double result;
        boolean valid = true;
        
        switch (op) {
            case '+':
                result = a + b;
                break;
            case '-':
                result = a - b;
                break;
            case '*':
                result = a * b;
                break;
            case '/':
                if (b != 0) {
                    result = a / b;
                } else {
                    System.out.println("Error: Division by zero");
                    result = 0;
                    valid = false;
                }
                break;
            case '%':
                result = a % b;
                break;
            default:
                System.out.println("Unknown operator: " + op);
                result = 0;
                valid = false;
        }
        
        if (valid) {
            System.out.println(a + " " + op + " " + b + " = " + result);
        }
    }
}
public class Calculator {
    public static void main(String[] args) {
        double a = ;
        double b = ;
        char op = ;
        
        double result;
        boolean valid = true;
        
        switch (op) {
            case '+':
                result = a + b;
                break;
            case '-':
                result = a - b;
                break;
            case '*':
                result = a * b;
                break;
            case '/':
                if (b != 0) {
                    result = a / b;
                } else {
                    System.out.println("Error: Division by zero");
                    result = 0;
                    valid = false;
                }
                break;
            case '%':
                result = a % b;
                break;
            default:
                System.out.println("Unknown operator: " + op);
                result = 0;
                valid = false;
        }
        
        if (valid) {
            System.out.println(a + " " + op + " " + b + " = " + result);
        }
    }
}
public class Calculator {
    public static void main(String[] args) {
        double a = ;
        double b = ;
        char op = ;
        
        double result;
        boolean valid = true;
        
        switch (op) {
            case '+':
                result = a + b;
                break;
            case '-':
                result = a - b;
                break;
            case '*':
                result = a * b;
                break;
            case '/':
                if (b != 0) {
                    result = a / b;
                } else {
                    System.out.println("Error: Division by zero");
                    result = 0;
                    valid = false;
                }
                break;
            case '%':
                result = a % b;
                break;
            default:
                System.out.println("Unknown operator: " + op);
                result = 0;
                valid = false;
        }
        
        if (valid) {
            System.out.println(a + " " + op + " " + b + " = " + result);
        }
    }
}
public class Calculator {
    public static void main(String[] args) {
        double a = ;
        double b = ;
        char op = ;
        
        double result;
        boolean valid = true;
        
        switch (op) {
            case '+':
                result = a + b;
                break;
            case '-':
                result = a - b;
                break;
            case '*':
                result = a * b;
                break;
            case '/':
                if (b != 0) {
                    result = a / b;
                } else {
                    System.out.println("Error: Division by zero");
                    result = 0;
                    valid = false;
                }
                break;
            case '%':
                result = a % b;
                break;
            default:
                System.out.println("Unknown operator: " + op);
                result = 0;
                valid = false;
        }
        
        if (valid) {
            System.out.println(a + " " + op + " " + b + " = " + result);
        }
    }
}

Switch on char works just like switching on int.

Multiple cases, same action

Group cases that should do the same thing.

Grouped.java
public class Grouped {
    public static void main(String[] args) {
        int month = ;
        String season;
        
        switch (month) {
            case 12:
            case 1:
            case 2:
                season = "Winter";
                break;
            case 3:
            case 4:
            case 5:
                season = "Spring";
                break;
            case 6:
            case 7:
            case 8:
                season = "Summer";
                break;
            case 9:
            case 10:
            case 11:
                season = "Autumn";
                break;
            default:
                season = "Invalid month";
        }
        
        System.out.println("Month " + month + " is in " + season);
        
        // Another example: weekday vs weekend
        int day = ;
        switch (day) {
            case 1:
            case 2:
            case 3:
            case 4:
            case 5:
                System.out.println("Day " + day + ": Weekday");
                break;
            case 6:
            case 7:
                System.out.println("Day " + day + ": Weekend!");
                break;
        }
    }
}
public class Grouped {
    public static void main(String[] args) {
        int month = ;
        String season;
        
        switch (month) {
            case 12:
            case 1:
            case 2:
                season = "Winter";
                break;
            case 3:
            case 4:
            case 5:
                season = "Spring";
                break;
            case 6:
            case 7:
            case 8:
                season = "Summer";
                break;
            case 9:
            case 10:
            case 11:
                season = "Autumn";
                break;
            default:
                season = "Invalid month";
        }
        
        System.out.println("Month " + month + " is in " + season);
        
        // Another example: weekday vs weekend
        int day = ;
        switch (day) {
            case 1:
            case 2:
            case 3:
            case 4:
            case 5:
                System.out.println("Day " + day + ": Weekday");
                break;
            case 6:
            case 7:
                System.out.println("Day " + day + ": Weekend!");
                break;
        }
    }
}
public class Grouped {
    public static void main(String[] args) {
        int month = ;
        String season;
        
        switch (month) {
            case 12:
            case 1:
            case 2:
                season = "Winter";
                break;
            case 3:
            case 4:
            case 5:
                season = "Spring";
                break;
            case 6:
            case 7:
            case 8:
                season = "Summer";
                break;
            case 9:
            case 10:
            case 11:
                season = "Autumn";
                break;
            default:
                season = "Invalid month";
        }
        
        System.out.println("Month " + month + " is in " + season);
        
        // Another example: weekday vs weekend
        int day = ;
        switch (day) {
            case 1:
            case 2:
            case 3:
            case 4:
            case 5:
                System.out.println("Day " + day + ": Weekday");
                break;
            case 6:
            case 7:
                System.out.println("Day " + day + ": Weekend!");
                break;
        }
    }
}
public class Grouped {
    public static void main(String[] args) {
        int month = ;
        String season;
        
        switch (month) {
            case 12:
            case 1:
            case 2:
                season = "Winter";
                break;
            case 3:
            case 4:
            case 5:
                season = "Spring";
                break;
            case 6:
            case 7:
            case 8:
                season = "Summer";
                break;
            case 9:
            case 10:
            case 11:
                season = "Autumn";
                break;
            default:
                season = "Invalid month";
        }
        
        System.out.println("Month " + month + " is in " + season);
        
        // Another example: weekday vs weekend
        int day = ;
        switch (day) {
            case 1:
            case 2:
            case 3:
            case 4:
            case 5:
                System.out.println("Day " + day + ": Weekday");
                break;
            case 6:
            case 7:
                System.out.println("Day " + day + ": Weekend!");
                break;
        }
    }
}
public class Grouped {
    public static void main(String[] args) {
        int month = ;
        String season;
        
        switch (month) {
            case 12:
            case 1:
            case 2:
                season = "Winter";
                break;
            case 3:
            case 4:
            case 5:
                season = "Spring";
                break;
            case 6:
            case 7:
            case 8:
                season = "Summer";
                break;
            case 9:
            case 10:
            case 11:
                season = "Autumn";
                break;
            default:
                season = "Invalid month";
        }
        
        System.out.println("Month " + month + " is in " + season);
        
        // Another example: weekday vs weekend
        int day = ;
        switch (day) {
            case 1:
            case 2:
            case 3:
            case 4:
            case 5:
                System.out.println("Day " + day + ": Weekday");
                break;
            case 6:
            case 7:
                System.out.println("Day " + day + ": Weekend!");
                break;
        }
    }
}
public class Grouped {
    public static void main(String[] args) {
        int month = ;
        String season;
        
        switch (month) {
            case 12:
            case 1:
            case 2:
                season = "Winter";
                break;
            case 3:
            case 4:
            case 5:
                season = "Spring";
                break;
            case 6:
            case 7:
            case 8:
                season = "Summer";
                break;
            case 9:
            case 10:
            case 11:
                season = "Autumn";
                break;
            default:
                season = "Invalid month";
        }
        
        System.out.println("Month " + month + " is in " + season);
        
        // Another example: weekday vs weekend
        int day = ;
        switch (day) {
            case 1:
            case 2:
            case 3:
            case 4:
            case 5:
                System.out.println("Day " + day + ": Weekday");
                break;
            case 6:
            case 7:
                System.out.println("Day " + day + ": Weekend!");
                break;
        }
    }
}
public class Grouped {
    public static void main(String[] args) {
        int month = ;
        String season;
        
        switch (month) {
            case 12:
            case 1:
            case 2:
                season = "Winter";
                break;
            case 3:
            case 4:
            case 5:
                season = "Spring";
                break;
            case 6:
            case 7:
            case 8:
                season = "Summer";
                break;
            case 9:
            case 10:
            case 11:
                season = "Autumn";
                break;
            default:
                season = "Invalid month";
        }
        
        System.out.println("Month " + month + " is in " + season);
        
        // Another example: weekday vs weekend
        int day = ;
        switch (day) {
            case 1:
            case 2:
            case 3:
            case 4:
            case 5:
                System.out.println("Day " + day + ": Weekday");
                break;
            case 6:
            case 7:
                System.out.println("Day " + day + ": Weekend!");
                break;
        }
    }
}
public class Grouped {
    public static void main(String[] args) {
        int month = ;
        String season;
        
        switch (month) {
            case 12:
            case 1:
            case 2:
                season = "Winter";
                break;
            case 3:
            case 4:
            case 5:
                season = "Spring";
                break;
            case 6:
            case 7:
            case 8:
                season = "Summer";
                break;
            case 9:
            case 10:
            case 11:
                season = "Autumn";
                break;
            default:
                season = "Invalid month";
        }
        
        System.out.println("Month " + month + " is in " + season);
        
        // Another example: weekday vs weekend
        int day = ;
        switch (day) {
            case 1:
            case 2:
            case 3:
            case 4:
            case 5:
                System.out.println("Day " + day + ": Weekday");
                break;
            case 6:
            case 7:
                System.out.println("Day " + day + ": Weekend!");
                break;
        }
    }
}
public class Grouped {
    public static void main(String[] args) {
        int month = ;
        String season;
        
        switch (month) {
            case 12:
            case 1:
            case 2:
                season = "Winter";
                break;
            case 3:
            case 4:
            case 5:
                season = "Spring";
                break;
            case 6:
            case 7:
            case 8:
                season = "Summer";
                break;
            case 9:
            case 10:
            case 11:
                season = "Autumn";
                break;
            default:
                season = "Invalid month";
        }
        
        System.out.println("Month " + month + " is in " + season);
        
        // Another example: weekday vs weekend
        int day = ;
        switch (day) {
            case 1:
            case 2:
            case 3:
            case 4:
            case 5:
                System.out.println("Day " + day + ": Weekday");
                break;
            case 6:
            case 7:
                System.out.println("Day " + day + ": Weekend!");
                break;
        }
    }
}
public class Grouped {
    public static void main(String[] args) {
        int month = ;
        String season;
        
        switch (month) {
            case 12:
            case 1:
            case 2:
                season = "Winter";
                break;
            case 3:
            case 4:
            case 5:
                season = "Spring";
                break;
            case 6:
            case 7:
            case 8:
                season = "Summer";
                break;
            case 9:
            case 10:
            case 11:
                season = "Autumn";
                break;
            default:
                season = "Invalid month";
        }
        
        System.out.println("Month " + month + " is in " + season);
        
        // Another example: weekday vs weekend
        int day = ;
        switch (day) {
            case 1:
            case 2:
            case 3:
            case 4:
            case 5:
                System.out.println("Day " + day + ": Weekday");
                break;
            case 6:
            case 7:
                System.out.println("Day " + day + ": Weekend!");
                break;
        }
    }
}
public class Grouped {
    public static void main(String[] args) {
        int month = ;
        String season;
        
        switch (month) {
            case 12:
            case 1:
            case 2:
                season = "Winter";
                break;
            case 3:
            case 4:
            case 5:
                season = "Spring";
                break;
            case 6:
            case 7:
            case 8:
                season = "Summer";
                break;
            case 9:
            case 10:
            case 11:
                season = "Autumn";
                break;
            default:
                season = "Invalid month";
        }
        
        System.out.println("Month " + month + " is in " + season);
        
        // Another example: weekday vs weekend
        int day = ;
        switch (day) {
            case 1:
            case 2:
            case 3:
            case 4:
            case 5:
                System.out.println("Day " + day + ": Weekday");
                break;
            case 6:
            case 7:
                System.out.println("Day " + day + ": Weekend!");
                break;
        }
    }
}
public class Grouped {
    public static void main(String[] args) {
        int month = ;
        String season;
        
        switch (month) {
            case 12:
            case 1:
            case 2:
                season = "Winter";
                break;
            case 3:
            case 4:
            case 5:
                season = "Spring";
                break;
            case 6:
            case 7:
            case 8:
                season = "Summer";
                break;
            case 9:
            case 10:
            case 11:
                season = "Autumn";
                break;
            default:
                season = "Invalid month";
        }
        
        System.out.println("Month " + month + " is in " + season);
        
        // Another example: weekday vs weekend
        int day = ;
        switch (day) {
            case 1:
            case 2:
            case 3:
            case 4:
            case 5:
                System.out.println("Day " + day + ": Weekday");
                break;
            case 6:
            case 7:
                System.out.println("Day " + day + ": Weekend!");
                break;
        }
    }
}
public class Grouped {
    public static void main(String[] args) {
        int month = ;
        String season;
        
        switch (month) {
            case 12:
            case 1:
            case 2:
                season = "Winter";
                break;
            case 3:
            case 4:
            case 5:
                season = "Spring";
                break;
            case 6:
            case 7:
            case 8:
                season = "Summer";
                break;
            case 9:
            case 10:
            case 11:
                season = "Autumn";
                break;
            default:
                season = "Invalid month";
        }
        
        System.out.println("Month " + month + " is in " + season);
        
        // Another example: weekday vs weekend
        int day = ;
        switch (day) {
            case 1:
            case 2:
            case 3:
            case 4:
            case 5:
                System.out.println("Day " + day + ": Weekday");
                break;
            case 6:
            case 7:
                System.out.println("Day " + day + ": Weekend!");
                break;
        }
    }
}
public class Grouped {
    public static void main(String[] args) {
        int month = ;
        String season;
        
        switch (month) {
            case 12:
            case 1:
            case 2:
                season = "Winter";
                break;
            case 3:
            case 4:
            case 5:
                season = "Spring";
                break;
            case 6:
            case 7:
            case 8:
                season = "Summer";
                break;
            case 9:
            case 10:
            case 11:
                season = "Autumn";
                break;
            default:
                season = "Invalid month";
        }
        
        System.out.println("Month " + month + " is in " + season);
        
        // Another example: weekday vs weekend
        int day = ;
        switch (day) {
            case 1:
            case 2:
            case 3:
            case 4:
            case 5:
                System.out.println("Day " + day + ": Weekday");
                break;
            case 6:
            case 7:
                System.out.println("Day " + day + ": Weekend!");
                break;
        }
    }
}
public class Grouped {
    public static void main(String[] args) {
        int month = ;
        String season;
        
        switch (month) {
            case 12:
            case 1:
            case 2:
                season = "Winter";
                break;
            case 3:
            case 4:
            case 5:
                season = "Spring";
                break;
            case 6:
            case 7:
            case 8:
                season = "Summer";
                break;
            case 9:
            case 10:
            case 11:
                season = "Autumn";
                break;
            default:
                season = "Invalid month";
        }
        
        System.out.println("Month " + month + " is in " + season);
        
        // Another example: weekday vs weekend
        int day = ;
        switch (day) {
            case 1:
            case 2:
            case 3:
            case 4:
            case 5:
                System.out.println("Day " + day + ": Weekday");
                break;
            case 6:
            case 7:
                System.out.println("Day " + day + ": Weekend!");
                break;
        }
    }
}
public class Grouped {
    public static void main(String[] args) {
        int month = ;
        String season;
        
        switch (month) {
            case 12:
            case 1:
            case 2:
                season = "Winter";
                break;
            case 3:
            case 4:
            case 5:
                season = "Spring";
                break;
            case 6:
            case 7:
            case 8:
                season = "Summer";
                break;
            case 9:
            case 10:
            case 11:
                season = "Autumn";
                break;
            default:
                season = "Invalid month";
        }
        
        System.out.println("Month " + month + " is in " + season);
        
        // Another example: weekday vs weekend
        int day = ;
        switch (day) {
            case 1:
            case 2:
            case 3:
            case 4:
            case 5:
                System.out.println("Day " + day + ": Weekday");
                break;
            case 6:
            case 7:
                System.out.println("Day " + day + ": Weekend!");
                break;
        }
    }
}

Fall-through (no break) lets multiple cases share code.

Exercise: EnhancedSwitch.java

Explore enhanced switch (Java 14+): arrow syntax, no fall-through, returns values