====== Java 12 Enhanced Switch ====== ===== Classic switch (before Java 12) ===== public class ClassicSwitchExample { public static void main(String[] args) { String day = "Monday"; String typeOfDay; switch (day) { case "Monday": typeOfDay = "Start of work week"; break; case "Friday": typeOfDay = "End of work week"; break; case "Saturday": case "Sunday": typeOfDay = "Weekend"; break; default: typeOfDay = "Midweek day"; break; } System.out.println(day + " is a " + typeOfDay); } } ===== Enhanced switch (starting with Java 12) ===== public class EnhancedSwitchExample { public static void main(String[] args) { String day = "Monday"; String typeOfDay; typeOfDay = switch (day) { case "Monday" -> "Start of work week"; case "Friday" -> "End of work week"; case "Saturday", "Sunday" -> "Weekend"; default -> "Midweek day"; }; System.out.println(day + " is a " + typeOfDay); } } - In the enhanced version, the switch is used as an expression, which means it can directly return a value. - Using the -> syntax eliminates the need for the break keyword, as each case is treated as a singular expression, and there's no "fall-through" to the next case. - In the cases for Saturday and Sunday, we've combined the two cases into one for efficiency and clarity, demonstrating another improvement brought by the modern switch.