Switch表达式可以有一个或N个个案值。
case值只能是switch表达式类型。大小写值必须为文字或常量。它不允许变量。
案例值必须为唯一。如果值重复,则会产生编译时错误。
Java Switch表达式必须为 byte,short,int,long(具有Wrapper类型),枚举和字符串。
每个case语句可以有一个 break语句,这是可选的。当控件到达break语句时,它将在switch表达式后跳转控件。如果未找到break语句,则执行下一种情况。
案例值可以具有默认标签,该标签是可选的。
switch(expression){
case value1:
//code to be executed;
break;
//optionalcase value2:
//code to be executed;
break;
//optional...... default: code to be executed if all cases are not matched;
}
public class SwitchExample {
public static void main(String[] args) {
//Declaring a variable for switch expression int number=20;
//switch expression switch(number){
//case statements case 10: System.out.println("10");
break;
case 20: System.out.println("20");
break;
case 30: System.out.println("30");
break;
//default case statement default:System.out.println("Not in 10, 20 or 30");
}
}
}
20
public class SwitchMonthExample {
public static void main(String[] args) {
//Specifying month number int month=7;
String monthString="";
//switch statement switch(month){
//case statements within the switch block case 1: monthString="1 - January";
break;
case 2: monthString="2 - February";
break;
case 3: monthString="3 - March";
break;
case 4: monthString="4 - April";
break;
case 5: monthString="5 - May";
break;
case 6: monthString="6 - June";
break;
case 7: monthString="7 - July";
break;
case 8: monthString="8 - August";
break;
case 9: monthString="9 - September";
break;
case 10: monthString="10 - October";
break;
case 11: monthString="11 - November";
break;
case 12: monthString="12 - December";
break;
default:System.out.println("Invalid Month!");
}
//Printing month of the given number System.out.println(monthString);
}
}
7 - July
public class SwitchVowelExample {
public static void main(String[] args) {
char ch='O';
switch(ch) {
case 'a': System.out.println("Vowel");
break;
case 'e': System.out.println("Vowel");
break;
case 'i': System.out.println("Vowel");
break;
case 'o': System.out.println("Vowel");
break;
case 'u': System.out.println("Vowel");
break;
case 'A': System.out.println("Vowel");
break;
case 'E': System.out.println("Vowel");
break;
case 'I': System.out.println("Vowel");
break;
case 'O': System.out.println("Vowel");
break;
case 'U': System.out.println("Vowel");
break;
default: System.out.println("Consonant");
}
}
}
Vowel
public class SwitchExample2 {
public static void main(String[] args) {
int number=20;
//switch expression with int value switch(number){
//switch cases without break statements case 10: System.out.println("10");
case 20: System.out.println("20");
case 30: System.out.println("30");
default:System.out.println("Not in 10, 20 or 30");
}
}
}
2030Not in 10, 20 or 30
public class SwitchStringExample {
public static void main(String[] args) {
//Declaring String variable String levelString="Expert";
int level=0;
//Using String in switch expression switch(levelString){
//Using String Literal in switch case case "Beginner": level=1;
break;
case "Intermediate": level=2;
break;
case "Expert": level=3;
break;
default: level=0;
break;
}
System.out.println("Your Level is: "+level);
}
}
Your Level is: 3
public class NestedSwitchExample {
public static void main(String args[]) {
//C - CSE, E - ECE, M - Mechanical char branch = 'C';
int collegeYear = 4;
switch( collegeYear ) {
case 1: System.out.println("English, Maths, Science");
break;
case 2: switch( branch ) {
case 'C': System.out.println("Operating System, Java, Data Structure");
break;
case 'E': System.out.println("Micro processors, Logic switching theory");
break;
case 'M': System.out.println("Drawing, Manufacturing Machines");
break;
}
break;
case 3: switch( branch ) {
case 'C': System.out.println("Computer Organization, MultiMedia");
break;
case 'E': System.out.println("Fundamentals of Logic Design, Microelectronics");
break;
case 'M': System.out.println("Internal Combustion Engines, Mechanical Vibration");
break;
}
break;
case 4: switch( branch ) {
case 'C': System.out.println("Data Communication and Networks, MultiMedia");
break;
case 'E': System.out.println("Embedded System, Image Processing");
break;
case 'M': System.out.println("Production Technology, Thermal Engineering");
break;
}
break;
}
}
}
Data Communication and Networks, MultiMedia
public enum Day {
Sun, Mon, Tue, Wed, Thu, Fri, Sat }
public static void main(String args[]) {
Day[] DayNow = Day.values();
for (Day Now : DayNow) {
switch (Now) {
case Sun: System.out.println("Sunday");
break;
case Mon: System.out.println("Monday");
break;
case Tue: System.out.println("Tuesday");
break;
case Wed: System.out.println("Wednesday");
break;
case Thu: System.out.println("Thursday");
break;
case Fri: System.out.println("Friday");
break;
case Sat: System.out.println("Saturday");
break;
}
}
}
}
SundayMondayTwesdayWednesdayThursdayFridaySaturday
public class WrapperInSwitchCaseExample {
public static void main(String args[]) {
Integer age = 18;
switch (age) {
case (16): System.out.println("You are under 18.");
break;
case (18): System.out.println("You are eligible for vote.");
break;
case (65): System.out.println("You are senior citizen.");
break;
default: System.out.println("Please give the valid age.");
break;
}
}
}
You are eligible for vote.