i++的详细过程
- 前言
- 自增概述
- 案例
- 自己的拙见
- 详细步骤
前言
第一次写博客,无论是代码还是文字描述可能会有欠妥的地方,请各位大佬不喜勿喷,当然也希望有大佬不吝赐教,帮助本小白和各大网友更加理解知识。谢谢 谢谢
自增概述
顾名思义,自增就是在自己本身加1,这一操作直接在栈内存中直接对对象的值加1,而不用经过操作数队列的赋值了,简化代码(的确简化了,但是后面遇到了更加悲催的~~~~)
案例
咋们先来看一道题吧,第一次能算对的都是大佬,佩服(反正我是算了好多道才算到了正确答案,无语~)
各位小伙伴们,算出你们的答案了么?是多少啊?
公布下正确答案吧: i = 4 ; j = 1 ; k = 11 ;
有没有出乎自己的意料啊,方正我最初不是这个答案至少 j 是让我最无语的。
自己的拙见
在经过我好久好久的研究下,终于摸到了一点门路(看过各位大佬的讲解)我明白了一下:
1.要进行赋值操作时,赋值操作时在最后完成的(先计算右边的式子)
2.赋值操作之前,要先把右边的值压入堆栈(即操作数队列)
3. 就j = i++是先把 i 的值压入操作数队列中,然后再执行++操作 (把 i 的值加1覆盖掉原来的值),最后把操作数队列中的值赋值给 j
4. 在有四则运算的时候,还是应该遵循四则运算法则,但是中间结果不会执行赋值操作,而是被重新压入操作数队列中.
详细步骤
尽管过程中写得有点啰嗦了,但是针对我这样的小白,确实简单易懂了不少。
注:
该题是在B 站中尚硅谷柴林燕(可能有错别字,别介意)老师讲解的,写在这记录下,也供大家参考学习。