if与switch区别
来源:互联网 发布:java中的变量有哪些 编辑:程序博客网 时间:2024/05/24 15:37
private static void testSitchAndIf(){
long testCount = 9000000000L;
int flag = 20;
long time1 = System.currentTimeMillis();
for(long i = 0; i < testCount; i++){
switch(flag){
case 1: break;
case 2: break;
case 3: break;
case 4: break;
case 5: break;
case 6: break;
case 7: break;
case 8: break;
case 9: break;
case 10: break;
case 11: break;
case 12: break;
case 13: break;
case 14: break;
case 15: break;
case 16: break;
case 17: break;
case 18: break;
case 19: break;
case 20: break;
case 21: break;
case 22: break;
case 23: break;
case 24: break;
case 25: break;
case 26: break;
case 27: break;
case 28: break;
case 29: break;
case 30: break;
case 31: break;
case 32: break;
case 33: break;
case 34: break;
case 35: break;
case 36: break;
case 37: break;
case 38: break;
case 39: break;
case 40: break;
case 41: break;
}
}
long time2 = System.currentTimeMillis();
for(long i = 0; i < testCount; i++){
if(flag == 1){}
else if(flag == 2){}
else if(flag == 3){}
else if(flag == 4){}
else if(flag == 5){}
else if(flag == 6){}
else if(flag == 7){}
else if(flag == 8){}
else if(flag == 9){}
else if(flag == 10){}
else if(flag == 11){}
else if(flag == 12){}
else if(flag == 13){}
else if(flag == 14){}
else if(flag == 15){}
else if(flag == 16){}
else if(flag == 17){}
else if(flag == 18){}
else if(flag == 19){}
else if(flag == 20){}
else if(flag == 21){}
else if(flag == 22){}
else if(flag == 23){}
else if(flag == 24){}
else if(flag == 25){}
else if(flag == 26){}
else if(flag == 27){}
else if(flag == 28){}
else if(flag == 29){}
else if(flag == 30){}
else if(flag == 31){}
else if(flag == 32){}
else if(flag == 33){}
else if(flag == 34){}
else if(flag == 35){}
else if(flag == 36){}
else if(flag == 37){}
else if(flag == 38){}
else if(flag == 39){}
else if(flag == 40){}
}
long time3 = System.currentTimeMillis();
System.out.println("loop count:" + testCount);
System.out.println("if consume time:" + (time2 - time1));
System.out.println("switch consume time:" + (time3 - time2));
}
result:
loop count:9000000000
if consume time:6568
switch consume time:5881
analyse:
参照上面的运行结果,switch与if的效率基本没有什么差别。
要具体查看switch与if的区别就需要查看编译之后的代码,具体分析。
- if与switch区别
- switch与if..else区别
- php if与switch区别
- if else与switch区别
- if与switch的使用与区别
- switch与if的区别(1)
- switch 与 if else 性能区别
- switch()与if()语句的区别新发现
- if else 与 switch case的区别:
- if else 与switch的区别 -switch用法
- if与switch
- if与switch转换
- switch 与 if/else
- IF与SWITCH
- if与switch
- switch 与 if else
- if与switch
- if与switch
- java常用命令
- 【C/C++学院】0726-cppIDE/一级指针/指针数组/函数指针/函数指针数组/二级指针
- 【项目1 - 存储班长信息的学生类】
- 第九周 课后实践:项目四——我的向量类
- SQL SERVER 2008无法到连接服务器的解决办法
- if与switch区别
- C语言sizeof关键字—被冤枉的关键字
- 第十周上机项目4我的向量类
- Java之美[从菜鸟到高手演变]之设计模式 (一)
- HIHO第九周
- 医学开源配准软件Elastix手册(中文翻译)——第五章 指南(掩膜和常见问题)
- 用WindowsAPI截屏并转换为RGB格式
- 【汇编】 冒泡排序。。。
- Android Volley完全解析(一),初识Volley的基本用法