自增长应该注意的
自增长应该注意的
深谷不见幽兰 发表于4年前
自增长应该注意的
  • 发表于 4年前
  • 阅读 26
  • 收藏 0
  • 点赞 0
  • 评论 0

标题:腾讯云 新注册用户域名抢购1元起>>>   

示例:

public class Client{

        public static void main(String[] args){

    int count=0;

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

     count=count++;

    }

    System.out.println("count="+count);   

    }

}

你算出的结果是多少?10吗?恭喜你错了,运行一下,答案是0

为什么???

看看java的处理步骤

第一步:JVM把count的值(其值是0)拷贝到临时变量区

第二步:count的值加1,这时候count的值是1

第三步:返回临时变量区 的值,注意这个值是0,没有修改过

第四步:返回值赋值给count,此时count值被重置成0

也可以这样去解释count=count++;这条语句

public static int mockAdd(int count){

    //先保存初始值

    int temp=count;

//做自增操作

    count=count+1;

//返回原始值

return temp;

}

这应该和你的本意不一样吧。那么怎么去解决这个自增长的陷阱呢。

只需要把count=count++;改成count++;即可。即保持一致



标签: 自增长的陷阱
共有 人打赏支持
粉丝 2
博文 49
码字总数 12345
×
深谷不见幽兰
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: