找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索本站精品资源

首页 教程频道 查看内容

java switch和if语句的不同

作者:模板之家 2021-1-10 14:37 57人关注

java switch和if语句的不同:1.控制表达式不同,switch后面不能是boolean类型,if后面的是boolean类型;2.结构不同,if后面的控制表达式是boolean类型,if执行语句前有一个条件 ;3.执行效率不同。

作为两种不同的分支语句,关于switch和if else的使用,一直是新手在选择使用分支语句上的一个难点。这两者有三点不同:控制表达式、结构、执行效率不同。在使用范围和效率上各有利弊,下面我们就这三点不同展开讲解,并进行代码的实例对比,一起来看看switch和if else的区别。

1.控制表达式不同

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

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

2.结构不同

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

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

switch语句

switch(expr){
 case condition1{
 //代码块...
 break;
 }
 case condition2{
 //代码块...
 break;
 }
 ...
 case conditionN{
 //代码块...
 break;
 }
 dafault:{
 //代码块...
 }
}

if else语句

public class IfStatementExample {
 
public static void main(String args[]){
int num=70;
if( num < 100 ){
/* This println statement will only execute,
* if the above condition is true
*/
System.out.println("number is less than 100");
}
}
}

3.执行效率不同

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

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

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

以上就是java switch和if语句的不同,在使用范围上if语句更广一点,但也逐条判断在效率方面会比 switch要慢,在实际运用中大家可以根据需求进行挑选。


路过

雷人

握手

鲜花

鸡蛋
来自: Python学习网

全部回复(0)