黑马程序员技术交流社区

标题: 不一样的for循环累加计算结果(请教为何???) [打印本页]

作者: anyway1919    时间: 2015-9-12 13:14
标题: 不一样的for循环累加计算结果(请教为何???)
  1. //这是一个
  2. package com.hmtest.demo;

  3. public class Client {
  4. public static void main(String[] args) {
  5.         int count =0;
  6.         for (int i = 0; i < 10; i++) {
  7.                 count=count++;
  8.         }
  9.         System.out.println(count);
  10. }
  11. }
复制代码

作者: yaochaoyang    时间: 2015-9-12 14:31
这不就是0吗,你的count根本就没变化,你看看运算符++a和a++的区别就知道了
作者: 莫盛强    时间: 2015-9-12 15:01
路上说得对。。。。。
作者: Florida2015    时间: 2015-9-12 15:25
一楼说的正确,好好琢磨就会懂了
作者: yanmingwang    时间: 2015-9-12 16:39
此类问题,都是要理解 count=count++;是先赋值,后运算。count=++count是先运算,后赋值。皆可以解决自己的疑难;
作者: #→_→    时间: 2015-9-12 17:12
楼上正解,运算完之后++并没有赋值
换一个写法
count = count++ 可以写成,
count = conut ;
count +1 ;

循环10次
0 = 0;
0 + 1;

作者: #→_→    时间: 2015-9-12 17:14
如果写成
count = ++count ;
就是
count = count + 1 ;
作者: shike951128    时间: 2015-9-12 18:32
表示没看懂,尽管做了实验。
作者: ln0491    时间: 2015-9-12 19:21
牛人。。。。。。。。。。。。
作者: Marx_D    时间: 2015-9-12 19:26
#→_→ 发表于 2015-9-12 17:12
楼上正解,运算完之后++并没有赋值
换一个写法
count = count++ 可以写成,

这个理解真不错来。
作者: zhangcheng0403    时间: 2015-9-12 19:30
因为是将右边的0付给左边再自增,可是这样已经失去效果了,最终有效的还是做左边的




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