GitHub Viewer
package loopAndFlow;
public class SwitchExamples {
public static void main(String[] args) {
int number = 2;
// Output of below switch is 2.
// The case which is matched is executed.
switch (number) {
case 1:
System.out.println(1);
break;
case 2:
System.out.println(2);
break;
case 3:
System.out.println(3);
break;
default:
System.out.println("Default");
break;
}
// Notice that there is not break after each case.
// If there is no break, then all the case's until we find break are
// executed.
number = 2;
switch (number) {
case 1:
System.out.println(1);
case 2:
System.out.println(2);
case 3:
System.out.println(3);
default:
System.out.println("Default");
}
// Output of above switch is 2 3 Default on separate lines.
// Notice that there is not break after case 2. So, it fall through
// to case 3. Prints the statement. After that, the break statement
// takes the execution out of the switch.
number = 2;
switch (number) {
case 1:
System.out.println(1);
break;
case 2:
case 3:
System.out.println("Number is 2 or 3");
break;
default:
System.out.println("Default");
break;
}
// Output of above switch is Number is 2 or 3.
// default is executed if none of the case's match
number = 10;
switch (number) {
case 1:
System.out.println(1);
break;
case 2:
System.out.println(2);
break;
case 3:
System.out.println(3);
break;
default:
System.out.println("Default");
break;
}
// Output of above is Default
// default doesn't need to be the last case in an switch.
number = 10;
switch (number) {
default:
System.out.println("Default");
break;
case 1:
System.out.println(1);
break;
case 2:
System.out.println(2);
break;
case 3:
System.out.println(3);
break;
}
// Output of above is Default
// No change in Result
// Switch can be used only with char, byte, short, int or enum
//long l = 15;
/*
* switch(l){//COMPILER ERROR. Not allowed. }
*/
// Case value should be a compile time constant.
number = 10;
switch (number) {
// case number>5://COMPILER ERROR. Cannot have a condition
// case number://COMPILER ERROR. Should be constant.
}
}
}