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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© houzhiming 中级黑马   /  2016-7-27 14:58  /  6711 人查看  /  28 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

2黑马币
如下代码:
public static void main(String[] args) {

       int count=0;

       for(int i=0;i<10;i++){

          count=count++;

       }

       System.out.println(count);

    }
运行结果不是10吗?

最佳答案

查看完整内容

count =count++;第一次运行 count++等于0 把0赋值给count 如果你要想看出区别 可以把count=count++改成 int a=count++; 分别输出a的值和count的值 这样便于自己理解 及count++运行后再加1的理解

28 个回复

倒序浏览
count =count++;第一次运行  count++等于0   把0赋值给count
如果你要想看出区别  可以把count=count++改成 int a=count++;
分别输出a的值和count的值  这样便于自己理解  及count++运行后再加1的理解
回复 使用道具 举报
cat73 黑马帝 2016-7-27 15:01:12
藤椅
count=count++;
你可以把它看成
count=count;
也就是什么都没做。
回复 使用道具 举报
cat73 发表于 2016-7-27 15:01
count=count++;
你可以把它看成
count=count;

不是couut++了吗
回复 使用道具 举报
  System.out.println(count);放在for的{}中试试
回复 使用道具 举报
System.out.println(count);放在for的{}中试试
回复 使用道具 举报
re0 初级黑马 2016-7-27 20:18:43
7#
[System.out.println(count);]放在for的{}中试试
回复 使用道具 举报
答案是 9  
因为count = count++
是先 count 的值赋给 count ,然后在count进行++
即是count = count ; count++;
{:2_30:}
朋友看看对不
回复 使用道具 举报
public static void main(String[] args) {

       int count=0;

       for(int i=0;i<10;i++){

          count=count++;

       }

       System.out.println(count);

    }
运行结果不是10吗?


你的是0,你要把count=count++  改成count++   
因为count++是先用后变,意思就是先等于0,然后你再加1呀,但是已经循环完,然后从头来,又是取0
回复 使用道具 举报
还有一种做法就是count=count++,改成count=++count  ,这个是先变后用的,大兄弟
回复 使用道具 举报
因为++放在后面并参与运算,所以先参与运算后才进行自加
回复 使用道具 举报
因为++放在后面并参与运算,所以先参与运算后才进行自加
回复 使用道具 举报
因为++放在后面并参与运算,所以先参与运算后才进行自加
回复 使用道具 举报
因为++放在后面并参与运算,所以先参与运算后才进行自加
回复 使用道具 举报
敲代码小蚂蚁 来自手机 中级黑马 2016-7-28 00:36:32
15#
你的循环控制条件i呢?你这调不出循环呀
回复 使用道具 举报
raining 发表于 2016-7-27 22:04
答案是 9  
因为count = count++
是先 count 的值赋给 count ,然后在count进行++

答案是0,,,
回复 使用道具 举报
yezilail 来自手机 中级黑马 2016-7-28 19:49:49
17#
把count+j前面的赋值操作去掉即可。
上面的count是常量,下面你从新赋值,相当于赋值给咯一个变量,每循环一次,内存中会创建一个变量count
回复 使用道具 举报
yezilail 来自手机 中级黑马 2016-7-28 19:50:51
18#
直接
             count++;

就可以了
回复 使用道具 举报
花陌相惜 发表于 2016-7-28 22:44
count =count++;第一次运行  count++等于0   把0赋值给count
如果你要想看出区别  可以把count=count++改 ...

嗯嗯,谢谢哈
回复 使用道具 举报

因为你count++之后 又赋值给了count , count++之后的值没有得到体现,就直接被覆盖了
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马