Java Switch Case
The switch statement is a multiway branch statement. It provides an easy way to dispatch execution to different parts of code based on the value of the expression.
EXAMPLE1:
class Geeks {
public static void main(String[] args)
{
int num = 20;
switch (num) {
case 5:
System.out.println("It is 5");
break;
case 10:
System.out.println("It is 10");
break;
case 15:
System.out.println("It is 15");
break;
case 20:
System.out.println("It is 20");
break;
default:
System.out.println("Not present");
}
}
}
Output:
It is 20
EXAMPLE2:
public class SwitchExample {
public static void main(String[] args) {
int day = 3; // You can change this value to test other cases
switch (day) {
case 1:
System.out.println("Monday");
break;
case 2:
System.out.println("Tuesday");
break;
case 3:
System.out.println("Wednesday");
break;
case 4:
System.out.println("Thursday");
break;
case 5:
System.out.println("Friday");
break;
case 6:
System.out.println("Saturday");
break;
case 7:
System.out.println("Sunday");
break;
default:
System.out.println("Invalid day");
}
}
}
Output:
Wednesday
Task:
- Remove break from case 1to7 ?
int day = 3;
switch (day) {
case 1:
System.out.println("Monday");
case 2:
System.out.println("Tuesday");
case 3:
System.out.println("Wednesday");
case 4:
System.out.println("Thursday");
case 5:
System.out.println("Friday");
case 6:
System.out.println("Saturday");
case 7:
System.out.println("Sunday");
default:
System.out.println("Invalid day");
}
OUTPUT:
Wednesday
Thursday
Friday
Saturday
Sunday
Invalid day
Meaning:
switch statement will "fall through"
- Move default just above any case block? In Java, the order of case and default inside a switch block doesn't matter logically.
3.Remove break statement from default?
public class Switchcase {
public static void main(String[] args) {
int day = 9; // An invalid day to trigger default
switch (day) {
default:
System.out.println("Invalid day");
// No break, so fall-through occurs
case 1:
System.out.println("Monday");
break;
case 2:
System.out.println("Tuesday");
break;
case 3:
System.out.println("Wednesday");
break;
case 4:
System.out.println("Thursday");
break;
case 5:
System.out.println("Friday");
break;
case 6:
System.out.println("Saturday");
break;
case 7:
System.out.println("Sunday");
break;
}
}
}
OUTPUT
Invalid day
Monday
Meaning:
Because there's no break after default, it falls through to case 1.
4.Instead of using int day, try using float values?
public class Switchcase {
public static void main(String[] args) {
float day = 2.0f;
switch (day) { // ❌ Error: switch expression must be convertible to int
case 1.0f:
System.out.println("One");
break;
default:
System.out.println("Default");
}
}
}
In Java, the switch statement does not support float (or double) types
✅ Supported types:
- byte
- short
- char
- int
- enum
- String
- Integer, Character, Byte, Short (boxed versions)
❌ Not supported:
1.float
2.double
- long
- boolean
- Any custom object type unless it's an enum or String