从0开始循环比从1开始效率高???请好心人帮忙指点一下啊

lizhyfrank 2007-10-08 07:47:41
看到有本书上写着:懂java的人都知道,从0开始循环至num-1要比从1开始循环至num效率高得多

我也是用java的啊,我怎么一点都不知道啊,脆弱的自尊心就这样被打击了一下

麻烦哪位高手给详细的讲解一下啊,不胜感激
...全文
895 52 打赏 收藏 转发到动态 举报
写回复
用AI写文章
52 条回复
切换为时间正序
请发表友善的回复…
发表回复
bawgiitx 2011-05-17
  • 打赏
  • 举报
回复
- -,那个高是JVN的事
beowulf2005 2011-05-16
  • 打赏
  • 举报
回复
真扯淡阿!

难道每条机器指令执行的速度是一样的?
难道对某个机器指令每种CPU(假设都有该指令)的执行效率是一样的?
加上超标量,流水线,预执行的情况。
能保证哪种写法一定比另一种在所有的CPU上都要快些?

扯淡嘛不是!
new_bird_0001 2011-05-16
  • 打赏
  • 举报
回复
从汇编的角度看,i++与++i应该没有区别,都是将某个地址里的值增加1,一条指令而已,只不过i++先用地址内的那个值去参与运算,然后加1,而++i则先加1,然后再参与其他运算,这样只是代码的位置不同而已,至于判断0与非0,好像在8086里只是指令不同,还有执行的时钟周期数是否相同也忘了,不过好像奔腾在时钟信号的上升和下降各执行一条指令,时间太久记不清了。
jinancf 2011-05-16
  • 打赏
  • 举报
回复
测试一下不就行了

import java.util.Date;

public class Test01 {
public static void main(String[] args) {
int i;
long t1 = (new Date()).getTime();
for (i = 0; i < 100000000; ++i)
;
long t2 = (new Date()).getTime();
System.out.println("t2-t1=" + (t2 - t1));
}
}

在我的机器上,无论i从0开始还是从1开始,无论是++i还是i++,运行时间都是109
Tony675892354 2011-05-16
  • 打赏
  • 举报
回复
我认为 应该没什么差别
zhu↑↓ 2011-05-16
  • 打赏
  • 举报
回复
可能会有细微差别,不过差的应该不是太大吧...
  • 打赏
  • 举报
回复
没事找事!
javabm 2011-02-09
  • 打赏
  • 举报
回复
长见识了
searcher_2008 2011-02-07
  • 打赏
  • 举报
回复
长见识了
i李小武 2011-02-05
  • 打赏
  • 举报
回复
我来总结一下吧:真的不高或者我们根本不懂java。
YouyouWang 2011-02-05
  • 打赏
  • 举报
回复
长见识了.看来上面大家都意见很统一.就是0的确高一点.不过现在的计算机可以忽略这个.
在有的特殊的地方那个0略有优势.
学习到了
几个高手只不过觉得LZ看的书这个说法有点极端了.到也没完全不同意这个看法
renhuihhh 2011-02-05
  • 打赏
  • 举报
回复
懂汇编的 还有 懂计算机原理的人 都会得出一个结论 从0从1开始对计算机来说没区别
区别在于从60年代开始人们大量的代码经验告诉大家 从0开始是一种好习惯...代码写的多了就懂了
coooliang 2011-02-05
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 guoxyj 的回复:]
真能抠
[/Quote]
q398556743 2011-02-05
  • 打赏
  • 举报
回复
yi一点点,
rat0_0 2011-02-05
  • 打赏
  • 举报
回复
我顶~~理由是:汇编中先判断是否为零的
GeniusYe 2011-02-04
  • 打赏
  • 举报
回复
个人感觉,从0开始是为了更好地利用系统自带的好多从0开始的东西。比如各种index
jijihahalala 2011-02-04
  • 打赏
  • 举报
回复
打印执行时间不就知道了哪个效率高了吗?
zjmcly 2011-02-03
  • 打赏
  • 举报
回复
这么深奥,要研究的很深入吧!
cscxxx 2011-02-03
  • 打赏
  • 举报
回复
那有没有人知道

for(int i=0;i<lengh;i++)



for(Integer i:number)

那个有效率
TKD03072010 2011-02-02
  • 打赏
  • 举报
回复
呵呵 学习了
加载更多回复(32)

62,616

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧