• 技术文章 >java >java基础

    java switch和if语句的不同

    小妮浅浅小妮浅浅2021-02-21 10:22:35原创3725

    本教程操作环境: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语句

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    switch(expr){

     case condition1{

     //代码块...

     break;

     }

     case condition2{

     //代码块...

     break;

     }

     ...

     case conditionN{

     //代码块...

     break;

     }

     dafault:{

     //代码块...

     }

    }

    if else语句

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    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要慢,在实际运用中大家可以根据需求进行挑选。

    专题推荐:java switch if
    上一篇:case在java中支持字符串 下一篇:java中try-catch的使用

    相关文章推荐

    • switch怎样java基础中使用?

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网