黑马程序员技术交流社区

标题: "++"符号的问题. [打印本页]

作者: 313098819    时间: 2015-9-28 21:08
标题: "++"符号的问题.
比如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为什么会变呢?
作者: 迷茫不堪的年纪    时间: 2015-9-28 21:17
首先你的值我感觉比较乱,先定义的x 然后 又应以 count (次数)  最后 for 又初始化是 i ,还有你最后输出的是要哪个值?
作者: 丶洛夜    时间: 2015-9-28 21:23
x=x++     是先把x的值赋给左边的x  再做++运算    而此时的++的结果已经影响不到左边x的值所以x=5
而count++  相当于count = count + 1;   是把count+1的值赋值给左边的count   所以打印的结果不同

作者: iceknc    时间: 2015-9-28 21:24
不明觉厉
作者: lostyou    时间: 2015-9-28 22:39
x=x++;先做赋值运算再自增,  这里有点难理解了,我是这么想的 ,x自增后并没有变量记录, 你赋值是赋的3,自增后没赋值操作,相当于释放了这个自增的值,count是有赋值的  所以会自增.
作者: 313098819    时间: 2015-9-29 00:35
lostyou 发表于 2015-9-28 22:39
x=x++;先做赋值运算再自增,  这里有点难理解了,我是这么想的 ,x自增后并没有变量记录, 你赋值是赋的3,自增 ...

这个解释理解,赞个你!
作者: ✦.灰机不会飞    时间: 2015-10-3 00:58
不错哦,加油
作者: 孔曰承让    时间: 2015-10-3 12:15
  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 ++;
       }
    }
}




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