switch 与if else

switch 与if else

今天对于老师讲的一个问题。始终有点疑惑
一个对于 switch与 if else的问题。
switch 比if else的执行效率高。感觉可能是因为switch 执行不向 if else 需要顺序执行。但是他也有限制,就是 swtich 与case的每个标签必须是整形(包括字符型)的。所有对于 浮点型或是选择涉及到取值范围,就无法处理了。。。

比如一道简单的题目:
 假设 a,x为整形;
  a>10   x=1;
 5<=a<=10, x=2;
  0<=a <5,X=3;
  a<0, x=4;

if(a>10)
      x=1;
else
    if (a>=5)
           x=2;
   else
          if(a>=0)
              x=3;
          else
              x=4;


这种选择分支是不是一定无法转为 switch case 结构呢?
我觉得是。。。。


你可能感兴趣的:(switch 与if else)