java switch和if语句的不同

本教程操作环境:windows7系统、java10版,DELL G3电脑。

1.控制表达式不同

switch后面的控制表达式只能是byte、short、char、int、String和枚举类型,不能是boolean类型

if后面的控制表达式是boolean类型;

2.结构不同

switch:主要是将choose中的值和某一个case值进行比较,而case值是一个确定的值。

if else:每个执行的语句前都会有一个条件,这个条件可以是类似x==0的这种匹配一个确定值的布尔表达式,也可以是x>10的这种匹配一个范围的布尔表达式。

switch语句

switch(expr){
casecondition1{
//代码块...
break;
}
casecondition2{
//代码块...
break;
}
...
caseconditionN{
//代码块...
break;
}
dafault:{
//代码块...
}
}

if else语句

publicclassIfStatementExample{

publicstaticvoidmain(Stringargs[]){
intnum=70;
if(num<100){
/*Thisprintlnstatementwillonlyexecute,
*iftheaboveconditionistrue
*/
System.out.println("numberislessthan100");
}
}
}

3.执行效率不同

switch的执行效率要高于if语句

switch会生成一个数据统计表,将case后面的值全部统计起来,匹配时先拿表中的数据进行比较,如果有则直接跳转到相应case语句;如果没有,则直接跳转到default语句。

if else语句需要一条一条的去进行取值范围的判断,直到找到正确的选项位置,这样的话势必会浪费大量的时间。

原文来自:https://www.py.cn

© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容