int i=0;
i=i++;
System.out.println(i);i还是o 为什么?

解决方案 »

  1.   

    i=i++;
    计算机的操作是:
    1、用寄存器存放i的当前值(i=0);
    2、执行i++,(i=1);
    3、把寄存器中的值赋给=左边的变量(i改回0)int i=0;
    i++;
    System.out.println(i);
    就好
      

  2.   

    int i=0;
    i=++i;或 i++;
    System.out.println(i);就是1了
    这是先i++ 和++i的区别  LZ看下基础
      

  3.   

    int i=0;
    i=i++;
    System.out.println(i);
    改成这样:
    int i=0;
    int s=i++;
    System.out.println(i);看看区别吧.你又把值传给i 了.当然i的值不变了!
      

  4.   

    i=i++;
    计算机的操作是:
    1、用寄存器存放i的当前值(i=0);
    2、执行i++,(i=1);
    3、把寄存器中的值赋给=左边的变量(i改回0)
    ------------------那请问i=1的1存在哪里了?
      

  5.   

    楼上i的变化是
    先被初始化为0
    因i++而被赋值为1
    因寄存器中的值赋给i又回到0
      

  6.   

    关键在i = i++
    i++ 是先赋值i再加1
    那么赋值之后i  还是等于0
      

  7.   

    int i=0;
    i=i++;
    System.out.println(i);i还是o 为什么?
    ==============这样的写法晕死!!!
      

  8.   

    i=i++;  先做副职运算 再自加i=++i;  先自加 再做副职运算
      

  9.   

    很明显 是从 i=0 开始计算的 当然system.out.println(i) 为0;
    如果 int i=0;
        int s=i++;
       System.out.println(s);肯定为1 
    从基础看起吧
      

  10.   

    i=0;
    i=i++;   //i++所要实现的是先赋值后加一;而++i则是先加一后赋值;不知道楼主是否明白!?
      

  11.   

    i=0
    i=i++
    相当于:
    temp=i;(temp是为了便于你理解所定义的一个中间变量)
    i++;
    i=temp;
    要是还是不能理解的话...