当我们有多个选项,并且需要为每个选项执行不同的任务时,就需要使用Switch case语句。
Switch case语句的语法如下-switch (variable or an integer expression)
{
case constant:
//Java code
;
case constant:
//Java code
;
default:
//Java code
;
}
Switch Case语句一般要与break语句一起使用。我们首先会看到一个没有break语句的示例,然后讨论有break的switch case
一个简单的Switch Case例子public class SwitchCaseExample1 {
public static void main(String args[]){
int num=2;
switch(num+2)
{
case 1:
System.out.println("Case1: Value is:"+num);
case 2:
System.out.println("Case2: Value is:"+num);
case 3:
System.out.println("Case3: Value is:"+num);
default:
System.out.println("Default: Value is:"+num);
}
}
}
输出:Default: Value is: 2
首先计算switch括号中提供的变量,值或表达式,然后根据结果执行与结果匹配的case块。
Switch Case中的Break语句
在switch case中,Break语句是可选的,但是每次处理switch case时,几乎都会使用它,在讨论break语句之前,看一下下面的例子,我没有使用break语句:public class SwitchCaseExample2 {
public static void main(String args[]){
int i=2;
switch(i)
{
case 1:
System.out.println("Case1");
case 2:
System.out.println("Case2");
case 3:
System.out.println("Case3");
case 4:
System.out.println("Case4");
default:
System.out.println("Default");
}
}
}
输出:Case2
Case3
Case4
Default
来看同一个例子,但是这次使用break语句。
break语句示例public class SwitchCaseExample2 {
public static void main(String args[]){
int i=2;
switch(i)
{
case 1:
System.out.println("Case1");
break;
case 2:
System.out.println("Case2");
break;
case 3:
System.out.println("Case3");
break;
case 4:
System.out.println("Case4");
break;
default:
System.out.println("Default");
}
}
}
输出:Case2
现在可以看到,只有case 2被执行,其余的case被忽略。
关于Switch Case的几个问题
1)Case不一定需要排成1、2、3这种顺序。case关键字后可以有整数值,另外,case不需要总是按升序排列,可以根据需求按任意顺序指定它们。
2)你还可以在switch case中使用字符。例如-public class SwitchCaseExample2 {
public static void main(String args[]){
char ch='b';
switch(ch)
{
case 'd':
System.out.println("Case1");
break;
case 'b':
System.out.println("Case2");
break;
case 'x':
System.out.println("Case3");
break;
case 'y':
System.out.println("Case4");
break;
default:
System.out.println("Default");
}
}
}
3)switch内给出的表达式应产生常量值,否则它无效,例如:
switch的有效表达式:switch(1+2+23)
switch(1*2+3%4)
无效的switch表达式:switch(ab+cd)
switch(a+b+c)
4)允许嵌套switch语句,这意味着你可以在另一个switch语句内使用switch语句,然而,嵌套的switch语句应该被避免,因为它使程序更加复杂和不易读。