switch语句是一个多路分支语句。简单地说,Java switch语句在多个条件下执行一条语句。它就像一个 否则如果 阶梯式陈述。它提供了一种简单的方法,可以根据表达式的值将执行分派到代码的不同部分。基本上,表达式可以是byte、short、char和int基元数据类型。从JDK7开始,它也适用于枚举类型( 枚举类型 在java中 一串 上课,还有 包装纸 上课。
null
switch语句的一些重要规则:
- 不允许重复的大小写值。
- 案例的值必须与开关中的变量具有相同的数据类型。
- 大小写的值必须是常量或文字。不允许使用变量。
- break语句在开关内部用于终止语句序列。
- break语句是可选的。如果省略,执行将继续到下一个案例。
- 默认语句是可选的,可以出现在开关块内的任何位置。在这种情况下,如果它不在末尾,那么必须在默认语句之后保留一个break语句,以省略下一个case语句的执行。
Switch case的语法:
// switch statement switch(expression) { // case statements // values must be of same type of expression case value1 : // Statements break; // break is optional case value2 : // Statements break; // break is optional // We can have any number of case statements // below is default statement, used when none of the cases is true. // No break is needed in the default case. default : // Statements }
开关箱流程图:
例如: 考虑下面的java程序,它声明一个int命名天,其值代表一天(1-7)。该代码使用switch语句根据日期的值显示日期的名称。
JAVA
// Java program to demonstrate switch case // with primitive(int) data type public class Test { public static void main(String[] args) { int day = 5 ; String dayString; // switch statement with int data type switch (day) { case 1 : dayString = "Monday" ; break ; case 2 : dayString = "Tuesday" ; break ; case 3 : dayString = "Wednesday" ; break ; case 4 : dayString = "Thursday" ; break ; case 5 : dayString = "Friday" ; break ; case 6 : dayString = "Saturday" ; break ; case 7 : dayString = "Sunday" ; break ; default : dayString = "Invalid day" ; } System.out.println(dayString); } } |
输出
Friday
省略break语句
As break语句是可选的。如果我们省略中断,执行将继续到下一个案件。有时,在多个案例之间没有中断语句是可取的。例如,考虑上面的程序的更新版本,它也显示一天是一个工作日还是一个周末。
JAVA
// Java program to demonstrate switch case // with multiple cases without break statements public class Test { public static void main(String[] args) { int day = 2 ; String dayType; String dayString; switch (day) { case 1 : dayString = "Monday" ; break ; case 2 : dayString = "Tuesday" ; break ; case 3 : dayString = "Wednesday" ; break ; case 4 : dayString = "Thursday" ; break ; case 5 : dayString = "Friday" ; break ; case 6 : dayString = "Saturday" ; break ; case 7 : dayString = "Sunday" ; break ; default : dayString = "Invalid day" ; } switch (day) { // multiple cases without break statements case 1 : case 2 : case 3 : case 4 : case 5 : dayType = "Weekday" ; break ; case 6 : case 7 : dayType = "Weekend" ; break ; default : dayType = "Invalid daytype" ; } System.out.println(dayString + " is a " + dayType); } } |
输出
Tuesday is a Weekday
嵌套的Switch Case语句
我们可以将开关用作外部开关语句序列的一部分。这称为嵌套开关。因为switch语句定义了自己的块,所以内部开关中的case常量和外部开关中的case常量之间不会发生冲突。例如:
JAVA
// Java program to demonstrate // nested switch case statement public class Test { public static void main(String[] args) { String Branch = "CSE" ; int year = 2 ; switch (year) { case 1 : System.out.println( "elective courses : Advance english, Algebra" ); break ; case 2 : switch (Branch) // nested switch { case "CSE" : case "CCE" : System.out.println( "elective courses : Machine Learning, Big Data" ); break ; case "ECE" : System.out.println( "elective courses : Antenna Engineering" ); break ; default : System.out.println( "Elective courses : Optimization" ); } } } } |
输出
elective courses : Machine Learning, Big Data
本文由 高拉夫·米格拉尼 .如果你喜欢GeekSforgek,并想贡献自己的力量,你也可以使用 写极客。组织 或者把你的文章寄去评论-team@geeksforgeeks.org.看到你的文章出现在Geeksforgeks主页上,并帮助其他极客。如果您发现任何不正确的地方,或者您想分享有关上述主题的更多信息,请写下评论。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END