Modern Switch in Java

I am Aspiring full stack java Developer .
From JDK 12 Java introduced a new version of switch called as Modern switch or Switch Expression
It was introduced as preview feature in JDK 12 and later on finalized in JDK 14
The modern switch enhances the traditional switch by making it more concise and expressive
Key Features
Arrow Syntax : Simplifies case statements by replacing with
No Fall Through: No need to write break – The arrow syntax prevents accidental fall through between cases.
Switch as an Expression : We can now use switch as an expression to directly return a value
yield for returning values : The yield keyword is used in switch expressions for returning values
Traditional Switch
public class Demo
{
public static void main (String[] args )
int day = 2;
switch (day)
{
case 1 :
System.out.println("Monday");
break;
case 2 :
System.out.println("Tuesday");
break;
default :
System.out.println ("Invalid Day");
}
}
Modern Switch
public class Demo {
public static void main(String[] args) {
int day = 2;
switch (day) {
case 1 -> System.out.println("Monday");
case 2 -> System.out.println("Tuesday");
case 3 -> System.out.println("Wednesday");
default -> System.out.println("Invalid day");
}
}
}
Traditional Switch
public class Demo {
public static void main(String[] args) {
int day = 2;
switch (day) {
case 1:
System.out.println("Monday");
System.out.println("Week Started");
break;
case 2:
System.out.println("Tuesday");
System.out.println("Week Started");
break;
case 3:
System.out.println("Wednesday");
System.out.println("Mid week");
break;
default:
System.out.println("Invalid day");
}
}
}
Modern Switch
public class Demo {
public static void main(String[] args) {
int day = 2;
switch (day) {
case 1 -> {
System.out.println("Monday");
System.out.println("Week Started");
}
case 2 -> {
System.out.println("Tuesday");
System.out.println("Week Started");
}
case 3 -> {
System.out.println("Wednesday");
System.out.println("Mid week");
}
default -> System.out.println("Invalid day");
}
}
}
Traditional Switch
public class Demo {
public static void main(String[] args) {
int day = 2;
switch (day) {
case 1:
case 2:
System.out.println("Week started");
break;
case 3:
case 4:
System.out.println("Mid week");
break;
case 5:
case 6:
case 7:
System.out.println("Weekend");
break;
default:
System.out.println("Invalid day");
}
}
}
Modern Switch
public class Demo {
public static void main(String[] args) {
int day = 2;
switch (day) {
case 1, 2 -> System.out.println("Week started");
case 3, 4 -> System.out.println("Mid week");
case 5, 6, 7 -> System.out.println("Weekend");
default -> System.out.println("Invalid day");
}
}
}
Modern Switch
public class Demo {
public static void main(String[] args) {
int monthNumber = 5;
String season;
season = switch (monthNumber) {
case 11, 12, 1, 2 -> {
System.out.println("Too cold");
yield "Winter";
}
case 3, 4, 5, 6 -> {
System.out.println("Too hot");
yield "Summer";
}
case 7, 8, 9, 10 -> {
System.out.println("I love this season");
yield "Rainy";
}
default -> "Wrong month";
};
System.out.println(season);
}
}


