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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 313098819 中级黑马   /  2015-9-28 21:08  /  689 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

比如class Test_Demo {
   public static void main(Stirng[] args) {
      int x=5;
          x=x++;
          x=x++;
         int count=0;
     for(int i=0;i<10;i++){
      count ++;
      }
   }
}
x++和count++有啥区别呢,x值不变,count为什么会变呢?

7 个回复

倒序浏览
首先你的值我感觉比较乱,先定义的x 然后 又应以 count (次数)  最后 for 又初始化是 i ,还有你最后输出的是要哪个值?
回复 使用道具 举报
x=x++     是先把x的值赋给左边的x  再做++运算    而此时的++的结果已经影响不到左边x的值所以x=5
而count++  相当于count = count + 1;   是把count+1的值赋值给左边的count   所以打印的结果不同
回复 使用道具 举报
不明觉厉
回复 使用道具 举报
x=x++;先做赋值运算再自增,  这里有点难理解了,我是这么想的 ,x自增后并没有变量记录, 你赋值是赋的3,自增后没赋值操作,相当于释放了这个自增的值,count是有赋值的  所以会自增.
回复 使用道具 举报
lostyou 发表于 2015-9-28 22:39
x=x++;先做赋值运算再自增,  这里有点难理解了,我是这么想的 ,x自增后并没有变量记录, 你赋值是赋的3,自增 ...

这个解释理解,赞个你!
回复 使用道具 举报
不错哦,加油
回复 使用道具 举报
  public static void main(Stirng[] args) {
       int x=5; //定义x=5
           x=x++;//x=5;5++之后x=6
           x=x++;//x=6;6++之后x=7
          int count=0;
      for(int i=0;i<10;i++){//定义i=0,当i小于十的情况下执行count++,之后i自增
       count ++;
       }
    }
}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马