黑马程序员技术交流社区

标题: x++和++x有什么区别 [打印本页]

作者: 刘永贵    时间: 2013-8-7 22:03
标题: x++和++x有什么区别
本帖最后由 刘永贵 于 2013-8-9 13:25 编辑

x++和++x有什么区别

作者: yan    时间: 2013-8-7 22:05
给你举个例子吧:
int x=0;
int a=x++;
int b=++x;
打印之后,a的值为0,b的值为1
x++,是先赋值再自增
++x是先自增再完成赋值
这样说希望能帮助到你
作者: 谢铭    时间: 2013-8-7 23:01
本帖最后由 谢铭 于 2013-8-7 23:02 编辑

首先在这里先引用下书上的知识:
一般++如果是前缀,那么先对此变量加1,再执行其它的操作,如果是后缀,则先执行其它的操作,再对此变量加1
x++和++x的区别在于式子本身的值。
x++这个式子的值是1,在这里++为后缀,要先执行其它的操作,再自增
++x这个式子的值是2,先执行自增,再执行其它的操作
相同点就是:x都会进行自增,x=x+1
注意:不要写成x=x++这样的式子
刚好昨天学习的过程中,老师提到了这个问题,希望能帮助到你。

作者: 李政    时间: 2013-8-7 23:03
  1. class Demo
  2. {
  3.         public static void main(String[] args)
  4.         {        
  5.                 /*
  6.                 int x = 0;
  7.                 System.out.println(++x);//打印结果为1
  8.                 System.out.println(x);//打印结果为1
  9.                 */

  10.                 int x = 0
  11.                 System.out.println(x++);//打印结果为0
  12.                 System.out.println(x);//打印结果为1
  13.         }
  14. }
复制代码
2楼讲的很对,再举个例子,看上面的代码,对比一下上面那部分和下面那部分的区别
上面那部分中的++x 是说 你这句话在调用我之前我先要自增一次
下面那部分中的x++ 是说,你调用我把,调用完了我再自增


作者: 一只文字    时间: 2013-8-8 09:19
但他们是单独的式子的时候 ,没区别 但是当他们在其余的表达式中的时候就有了
x++是先输出x的值在进行自加
而++x是先自加然后在输出x的值




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2