java吧 关注:1,249,924贴子:12,734,155
  • 13回复贴,共1

在使用a++的时候遇到了奇怪问题

只看楼主收藏回复

这是两个代码输出的结果为什么不一样?


IP属地:江苏来自iPhone客户端1楼2016-12-23 17:09回复
    QQ 里面是局部变量 而另一个是实参和形参的值传递,都是传递的3


    来自iPhone客户端2楼2016-12-23 18:03
    回复
      java中的i++等价于下
      int temp = i;
      i = i + 1;
      return temp;


      IP属地:广东3楼2016-12-23 18:34
      收起回复
        除了三楼所说的,补充点,
        i++:在程序调用完之后才会自身加1
        sys...println(i++);//3
        sys...println(i)://4
        ++i:在程序调用完之前自身加1
        sys...println(++i);//4
        sys...println(i)://4


        IP属地:广东6楼2016-12-27 11:14
        收起回复
          i=i++;
          i又被重新赋值为3,,而后边的i++计算的是你传进来的参数,
          下面输出的i是你第一个输出语句重新赋值的i的值


          IP属地:天津7楼2016-12-27 14:08
          回复
            传智的是吧


            IP属地:广东来自Android客户端8楼2016-12-27 14:25
            收起回复