更新时间:2020-11-16 17:34:20 来源:极悦 浏览1487次
我们其实在很早就已经学习了if语句,然而,我们会发现if语句在多重嵌套下,会显得非常凌乱,代码的可读性非常差,所以就有了取而代之的switch语句,它和if语句能实现相同的功能,只不过在多重判断下,运用switch-case语句会使代码更加的简洁。本文我们就来探究switch-case 语句用法。
switch-case 语句实际上与 if 语句是相似的,它是根据语句变量或表达式的值不同分别执行不同命令的条件语句,其基本调用格式如下:
switch 表达式
case 值 1
表达式 1
case 值 2
表达式 2
case 值 3
表达式 3
…
otherwise
表达式 n
end
运行 switch-case 语句时,首先计算表达式的值,然后比较计算结果与 case 语句中的值。若计算结果与 case 语句中的某一个值相对应,则执行对应的语句;若都不满足 case 语句中的值,那么将执行 otherwise 语句的表达式。
当switch后面括号内“表达式”的值与某个case后面的“常量表达式”的值相等时,就执行此case后面的语句。执行完一个case后面的语句后,流程控制转移到下一个case继续执行。如果你只想执行这一个case语句,不想执行其他case,那么就需要在这个case语句后面加上break,跳出switch语句。正常我们都希望只执行一个符合条件的case语句,所以一般后面都会加上break,以便执行完成后,直接跳出switch语句。
下面我们来看一个 switch-case 语句的实例:
public class Test7
{
public static void main(String[] args)
{
int i=5;
switch(i)
{
case 1:
System.out.println("one");
case 10:
System.out.println("ten");
case 5:
System.out.println("five");
case 3:
System.out.println("three");
default:
System.out.println("other");
}
}
}
è 结果是:
five
three
other
switch(表达式)
{
case 常量表达式1:语句1;
....
case 常量表达式2:语句2;
default:语句;
}
switch的用法是判断case后面的表达式和switch后面的表达式是否相匹配,一旦case匹配,就会顺序执行后面的程序代码,而不管后面的case是否匹配,直到遇见break。
如上所给的代码中,由于i等于5,和前面的两个case都不匹配,所以结果中并没有one和ten的。而第三个case中的5就和switch中i的值匹配,因此就会打印出five的,由于没有遇到break所以就会顺序执行很面的代码,打印出three和other
流程控制中的switch-case语句,一直 switch-case 语句的重点内容,首先从原理上来阐述这个问题:
switch(表达式)
{ case 常量表达式1:语句1;
....
case 常量表达式2:语句2;
default:语句;
}
default就是如果没有符合的case就执行它,default并不是必须的。
2.case后的语句可以不用大括号. case 后面必须是常量表达式constant expressions, 错误表示如: case x 。
3.switch语句的判断条件可以接受int,byte,char,short, enum不能接受其他类型。
4.一旦case匹配,就会顺序执行后面的程序代码,而不管后面的case是否匹配,直到遇见break,利用这一特性可以让好几个case执行统一语句。
标准型(case后面都有break语句):
int i=3;
switch(i)
{
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;
}
输出结果:3
以上就是对 switch-case 语句用法的深入探究,我们通过对几个实例的分析,很容易得出 switch-case 语句基本用法。但是,有些奥妙之处还是需要我们透过例子,耐心去体会。本站的Java SE教程中有对大多数Java控制语句用法的实例分析,想深入学习提升自己的小伙伴可以去观看学习。
0基础 0学费 15天面授
Java就业班有基础 直达就业
业余时间 高薪转行
Java在职加薪班工作1~3年,加薪神器
工作3~5年,晋升架构
提交申请后,顾问老师会电话与您沟通安排学习