版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_42528266/article/details/103280680
package com.cwl.po.judge;
/**
* @program: cwl-performance-optimization
* @description: 测试If-Else和if哪个性能更好
* @author: ChenWenLong
* @create: 2019-11-27 11:23
**/
public class TestIfAndIfElse {
// 结论 使用If 和 If-Else性能相同
public static void main(String[] args) {
System.out.println(testIf());// 8ms
System.out.println(testSwitch());// 8ms
}
/**
* 功能描述:
* 〈测试switch性能〉
*
* @return : long
* @params : []
* @author : cwl
* @date : 2019/11/27 11:24
*/
private static long testSwitch() {
long begin = System.currentTimeMillis();
int a = 0;
int b = 0;
int c = 0;
int d = 0;
int e = 0;
int f = 0;
int g = 0;
for (int i = 0; i < 100000000; i++) {
if(i < 2000){
a += i;
}else if(2000 < i && i < 4000){
b += i;
}else if(4000 < i && i <6000){
c += i;
}else if(6000 < i && i < 8000){
d += i;
}else if(8000 < i && i < 10000){
e += i;
}else if(10000 < i && i < 12000){
f += i;
}else if(12000 < i && i < 14000){
g += i;
}
}
System.out.println(a+b+c+d+e+f+g);
long end = System.currentTimeMillis();
return end - begin;
}
/**
* 功能描述:
* 〈测试If的性能〉
*
* @return : long
* @params : []
* @author : cwl
* @date : 2019/11/27 11:24
*/
private static long testIf() {
long begin = System.currentTimeMillis();
int a = 0;
int b = 0;
int c = 0;
int d = 0;
int e = 0;
int f = 0;
int g = 0;
for (int i = 0; i < 100000000; i++) {
if(i < 2000){
a += i;
}
if(2000 < i && i < 4000){
b += i;
}
if(4000 < i && i <6000){
c += i;
}
if(6000 < i && i < 8000){
d += i;
}
if(8000 < i && i < 10000){
e += i;
}
if(10000 < i && i < 12000){
f += i;
}
if(12000 < i && i < 14000){
g += i;
}
}
System.out.println(a+b+c+d+e+f+g);
long end = System.currentTimeMillis();
return end - begin;
}
}