java中 count=count++;count值不变??!@!@!

lamjevence 2017-03-29 09:11:52
public class e {

public e() {
// TODO Auto-generated constructor stub
}

public static void main(String[] args) {
// TODO Auto-generated method stub
int count=0;
int num=0;
for(int i=0;i<=100;i++){
num=num+i;
count=count++;
System.out.println(count+"<--");
}
System.out.println(num*count);
}
}

count的值一直未0,为什么,求大神解答~~
...全文
1115 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
大师兄g 2020-03-06
  • 打赏
  • 举报
回复
count=count++;这种写法再java种是不被支持的,它会理解为count++的值没有新的变量接受而不会生效,count++相当于根本没被执行,所有count保持初始值。
qq_36185348 2018-03-31
  • 打赏
  • 举报
回复 2
在java中count=count++
相当于
temp=count;
count=count+1;
count=temp;
让程序飞 2017-03-30
  • 打赏
  • 举报
回复
count++
自由自在_Yu 2017-03-30
  • 打赏
  • 举报
回复
引用 2 楼 hang199309 的回复:
你好,把count = count ++ 这句有问题,改为count++就可以了 count++自加运算,count = count++意思为先进行赋值运算再进行自加运算,所以count每次进行赋值都为初始值0.你可以用count = count + 1或者直接count++或者用count += 1都可以!
u012918361 2017-03-30
  • 打赏
  • 举报
回复
你这个让我想起了一个经典的题目:问最终 j 的值是多少。

int j = 0;
for(int i=0;i<100;i++){
    j = j++;
}
// 结果是 j = 0
qq609737607 2017-03-30
  • 打赏
  • 举报
回复
count=count++ 关键在这里 这一步是先赋值后运算 也就是 0=0++ count是等于0的
一个治疗术 2017-03-30
  • 打赏
  • 举报
回复
很经典的问题
低调滴开发 2017-03-30
  • 打赏
  • 举报
回复
你可以改为++count,因为count++进行的是先赋值了,count每次都被赋成0了
lamjevence 2017-03-30
  • 打赏
  • 举报
回复
我的意思不是找错误,是因为这是某大型游戏公司的笔试题,让你给出最后结果!!!我是绝对不会这样写代码的,但是从来没想过这项写会有什么问题,结果就遇见了
110成成 2017-03-30
  • 打赏
  • 举报
回复
有点类似++i和i++的关系。
  • 打赏
  • 举报
回复
引用 1 楼 pany1209 的回复:
改为count++;就可以了。。。
正解
hang199309 2017-03-29
  • 打赏
  • 举报
回复
你好,把count = count ++ 这句有问题,改为count++就可以了 count++自加运算,count = count++意思为先进行赋值运算再进行自加运算,所以count每次进行赋值都为初始值0.你可以用count = count + 1或者直接count++或者用count += 1都可以!
李德胜1995 2017-03-29
  • 打赏
  • 举报
回复
改为count++;就可以了。。。

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧