黑马程序员技术交流社区

标题: 为什么是0?? [打印本页]

作者: 代码人生?!    时间: 2016-4-30 17:23
标题: 为什么是0??
class Test {
        public static void main(String[] args) {
                int sum = 0;
                for (int i = 1;i <= 10 ;i++ ) {
                        sum = sum ++;
                }
                System.out.println(sum);
        }
}

作者: 18573626921    时间: 2016-4-30 17:56
for循环结束后 会释放资源
作者: 2011014170    时间: 2016-4-30 18:04
因为你定义的为int型,而不是static int 型,int型在随着for循环结束,sum会释放,输出的时候成为之前定义的0了
作者: 2011014170    时间: 2016-4-30 18:08
不对不对,回答错了
作者: 2011014170    时间: 2016-4-30 18:12
这应该是sum++的问题。。
作者: 九天玄妖    时间: 2016-4-30 18:28
说下我的理解
感觉是在++的同时进行了赋值
sum = sum ++;  sum = 0;
先把 sum++ 的sum看成a吧,在给sum赋值时,先记录a=0;a++; 把a=0赋值给sum
这样sum就等于0
作者: zhoutianxing    时间: 2016-4-30 19:49
是++的问题




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