for(int i = 100000; i > 0; i–) {} 
for(int i = 1; i < 100001; i++) {} 

解决方案 »

  1.   

    应该差不多
    如果非说哪个快
    我认为应该是for(int i = 1; i < 100001; i++) {} 
      

  2.   

    在java版,那就应该从jvm内部解析吧。在1.2版中
    单从指令来看,由于无寄存器,都是栈操作,局部变量和常量弹栈后的比较再跳转,而且在虚拟机内部--和++都是inc的,指令复杂度貌似是一样的吧。
    但是本人实验了下jdk1.5  win32
    得到结果是,若上届(或者下界)较小 比如取楼主所讲或取10000,那么用--明显比++快 ,约十倍左右,倘若边界较大时这一差距会越来越小。当然实验的循环体是简单的浮点加,代码就不贴了。
    期待高人解释
      

  3.   

    呵呵
    我开始猜了一个是--快
    但是我做测试结果也是--快
    所以给分撒
    package org.lrb;import java.util.Date;public class Ces { public static void main(String[] args) { for(int i = 100000; i > 0; i--) {

    Date haha=new Date();

    if(i==1){

    System.out.println(haha);
    break;
    }
    }


    /*for(int i = 1; i < 100001; i++) {

               Date haha=new Date();
               System.out.println(haha);
    if(i==100000){

    System.out.println(haha);
    break;

    }
    } */
    }}
      

  4.   

    http://blog.csdn.net/absurd/archive/2009/02/27/3941263.aspx
    java也可以类似方式分析。