正在回答
4回答
这个应该设计到计算机底层的执行顺序的原因。
你可以这样理解:
a=3;
a = a + a = a * a;
这个表达式,要计算最终a的值,由于赋值运算符要从右往左,所以先计算右边的内容。
所以计算机开始计算a + a = a * a 部分,从左到右看a + a, 计算机先把第一个a的值也就是3放到一个盒子里(底层的寄存器),再拿+号右边的a的值来进行加法运算,这个时候,计算机发现+号右边的a的值是需要通过赋值运算符来计算得出的,因此它要计算第二个赋值号右边的内容来赋值给+号右边的a。用同样的流程计算出a*a(这两个a的值不需要通过别的计算来得到)等于9,于是把9赋值给+号右边的a。之后再进行加法运算,也就是3+9最后结果就等于12了。
其实你只要记住,计算机在计算这些表达式的时候,不是直接a*b或者b+c的,而是先把a变量的值复制出来放到某个地方,再复制变量b的值放到另一个地方,再进行计算,再把结果放到某个变量的。
希望能够帮助你!如果实在还是想不通,建议把这个问题先放到一边,学了后面的内容,或者去找找关于计算机组成原理方面的书看看,应该是可以懂的。
1. Java 零基础入门
- 参与学习 人
- 提交作业 3802 份
- 解答问题 11489 个
本阶段带你迈入Java世界,学习Java必备基础知识,基础语法、面向对象思想以及常用工具类的使用。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星