应该这么写:
i += 1;
或者:
i++;
你那么写相当于:
i = (i++);
天知道会得什么结果。:)

解决方案 »

  1.   

    int i=0;
    i++;
    System.out.println(i);
    就可以了,不用i=i++。
    这样实际上存在歧义,不同的语言不同的编译器实际上存在不同的解析可能
    在java里面是为1
    实际上执行了i=i;  i++;这两个语句
      

  2.   

    这样就对了!!
    int i=0;
    i=++i;
    system.out.println(i);
      

  3.   

    dupenf(飞跃人生) 你写的还是有一点点小问题
    i=++i;这样是白费功嘛,i++;或者++i;不就完了嘛,为什么一定要用等号呢
      

  4.   

    int i=0; 
    int m=i++; 
    System.out.println(i);
      

  5.   

    我觉得,i=i++;本来在进行完i++后,i应该是1,但是i++表达式本身是0,结果又把0付给了i,所以i又成为了0,我不知道是i自加和i=i++的赋值操作哪一个先