版权声明:转载请标明出处哦 https://blog.csdn.net/easy_purple/article/details/84324927
这里用到的时间单位是毫微秒。(1秒=10^3毫秒=10^6微秒=10^9毫微秒 )
运行的时间如下
(计算时间,每次计算出来的时间或多或少都会有差别)
(times)运算多少次 | time1(运算花费的时间)【单位:微秒】 | time1(运算花费的时间)【单位:微秒】 |
10000 | 64 | 63 |
100000 | 686 | 657 |
1000000 | 1600(不稳定) | 800(不稳定) |
10000000 | 1700 | 1200(不稳定) |
100000000 | 1600 | 1100 |
结论
右移运算比除法稍微快一点,但是之间的差距用肉眼是看不出来的
代码:
public static void main(String[] args) {
int s = 0;
long temp = System.nanoTime();
int times=10000;
for (int i = 0; i < times; i++) {
s = 40 / 2;
}
long time1=(System.nanoTime() - temp)/1000;
temp = System.nanoTime();
for (int i = 0; i < times; i++) {
s = 40 >> 1;
}
long time2=(System.nanoTime() - temp)/1000;
System.out.println(time1+" "+time2);
}