严重怀疑自己还没搞懂java中的前++和后++知识点

文章讨论了Java编程中的前++和后++运算符区别,指出count++实际上是一个返回值的操作,导致在循环中count的值未被更新。作者借此提醒开发者注意避免自增陷阱,并提供了关于Java开发的151个实用建议。
摘要由CSDN通过智能技术生成

前++是什么鬼?前++就是先自加然后再使用,我以前一直是这么理解的,这样理解也的确没问题;

后++是什么鬼?后++就是先使用然后再自加,我以前一直是这么理解的,这样理解也的确没问题;

直到我遇到如下代码我严重怀疑自己还没搞懂java中的前++和后++知识点

直接po代码

public class Test {
    public static void main(String[] args) {

        int count = 0;

        for (int index = 0; index < 10; index++) {
            count = count++;
        }

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

运行如上代码,运行结果是count=0

惊不惊喜,意不意外?

然后我看一些资料上说,这是个自增陷阱!要警惕这种自增陷阱

i++和++i,i++表示的是先赋(使)值(用)后加1,++i表示的是先加1后赋(使)值(用)

count++是一个表达式,是返回值,它的返回值就是count自加前的值,java对自身加是这样处理的:首先把count的值(注意的是值,不是引用)拷贝到一个临时变量区,然后对count变量加1,最后返回临时变量区的值。

程序循环执行步骤:步骤1:jvm 把count 值(其值是0)拷贝到临时变量区;步骤2:count值加1,这时候count的值是1;

步骤三:返回临时变量区的值,注意这个值是0,没有修改过,步骤4:返回赋值给count,此时count值被重置成0。

JAVA开发中151个建议

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值