++i:i先加1再取得i的值
i++:先取得i的值,再加1.

解决方案 »

  1.   

    但我看书里面的for语句:for(int i;i<100;i++),要是用++i行吗?
      

  2.   

    public class i
    {
    public static void main(String[] args)
    {
    int i=1;
    int n;
    //n=i++; //先把i的值付给n,然后i自加1;
    n=++i;  //i先自加1,然后把所得值付给n;
    System.out.println(n);
    }
    }
    看看就知道为什么了。
      

  3.   

    for语句括号里最后那个i++或++i都无所谓的
      

  4.   

    大家看看这个
    ------
    在C和java中
    如果i=7;
        j=++i*i++;
    结果都是输出i=9,j=64;
    而当i=7;j=++i*++i;的时候,C输出的是i=9,j=81;而java输出的则是i=9,j=72;
    为什么?!
    这是在C版块争论了很久的一个话题,我一直在思考,就是不明白,还请高手指教!
      

  5.   

    JAVA里应该是这样的吧j=(++i)*(++i)j=  a  *   ba=8  而 b=9所以
      

  6.   

    在for(int i;i<100;i++)最好用++i,功能一样,但是效率却不一样
      

  7.   

    ++i:i先加1再取得i的值
    例如:
      int i=4;
      int j=++i;
    得到: j为5,i为5;
    i++:先取得i的值,再加1.
      例如:
      int i=4;
      int j=i++;
    得到: j为4,i为5;
      

  8.   

    在for(int i;i<100;i++)最好用++i,功能一样,但是效率却不一样。
     那个效率高,为什么呢?
      

  9.   

    我运行过,在Java中,如果i=7,(++i)*(i++)和++i*i++结果都是64,i++*++i和(i++)*(++i)结果都是63,这是什么原因呢?
      

  10.   

    在C和java中
    如果i=7;
        j=++i*i++;
    结果都是输出i=9,j=64;
    而当i=7;j=++i*++i;的时候,C输出的是i=9,j=81;而java输出的则是i=9,j=72;
    为什么?!
    这是在C版块争论了很久的一个话题,我一直在思考,就是不明白,还请高手指教!
    i=7;
    j=++i*i++ //(++i -->i=8) * (i++ -->先取i=8,再计算i+1最终i=9) 8*8=64
    j=++i*++i//(++i -->i=8) * (++i -->先计算i+1的i=9再取i) 8*9=72
      

  11.   

    c我不太熟悉
     我估计c中的i取得都是这个表达是中所表示的i最终值
    j=++i*i++ //(++i -->i=8) * (i++ -->先取i=8,这个表达式中i=8) 8*8=64
    j=++i*++i//(++i -->i=8) * (++i -->先计算i+1的i=9再取i,这个表达式中i=9) 9*9=81
      

  12.   

    那请问在for语句中,用++i效率高还是i++效率高呢?
      

  13.   

    在表达式中:
    ++i:i先加1再取得i的值
    i++:先取得i的值,再加1单独运算:i++,++i是一样的结果。效率?要这么细么??为什么?
    我只知道++是自由向左结合的?符合逆波兰式?所以效率高?
    没有必要这么细吧。