A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 刘永贵 中级黑马   /  2013-8-7 22:03  /  1689 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 刘永贵 于 2013-8-9 13:25 编辑

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

评分

参与人数 1黑马币 +1 收起 理由
杨兴庭 + 1

查看全部评分

4 个回复

倒序浏览
给你举个例子吧:
int x=0;
int a=x++;
int b=++x;
打印之后,a的值为0,b的值为1
x++,是先赋值再自增
++x是先自增再完成赋值
这样说希望能帮助到你

评分

参与人数 1技术分 +1 收起 理由
杨兴庭 + 1

查看全部评分

回复 使用道具 举报
本帖最后由 谢铭 于 2013-8-7 23:02 编辑

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

评分

参与人数 1技术分 +1 收起 理由
杨兴庭 + 1

查看全部评分

回复 使用道具 举报
  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++ 是说,你调用我把,调用完了我再自增

评分

参与人数 1技术分 +1 收起 理由
杨兴庭 + 1

查看全部评分

回复 使用道具 举报
但他们是单独的式子的时候 ,没区别 但是当他们在其余的表达式中的时候就有了
x++是先输出x的值在进行自加
而++x是先自加然后在输出x的值

评分

参与人数 1技术分 +1 收起 理由
杨兴庭 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马