老师在视频中讲到 switch的效率比if else 的高,在网上查了查,有很多分歧的地方,这里想请高手讲一讲它们运行的效率问题。并且switch和for循环的比较又是怎么样?
(这里不考虑代码书写简便与否的问题,只考虑效率与用法问题)
public class Test
{
public static void main(String[] args)
{
// 一下代码仅为演示,不考虑书写简便与否的问题
// switch 和 if else 的比较 (同样是遍历,为什么switch效率高呢?这里不考虑判断多少的问题)
char x = 'b';
if(x=='a')
System.out.println("a");
else if(x=='b')
System.out.println("b");
else
System.out.println("no");
switch('b')
{
case 'a':System.out.println("a");break;
case 'b':System.out.println("b");break;
default :System.out.println("no");
}
// switch 和 for循环的比较 (同样是遍历,它们的效率又是怎么样的呢?这里不考虑遍历多少的问题)
for(int i=1; i<=3; i++)
System.out.println(i);
switch(1)
{
case 1:System.out.println(1);
case 2:System.out.println(2);
case 3:System.out.println(3);
}
}
} |
|