黑马程序员技术交流社区

标题: 求解优先级的问题?? [打印本页]

作者: 江州刺史    时间: 2015-8-4 00:20
标题: 求解优先级的问题??
int a= 1;
int b=0;
b=(++a)+(++a)+(++a);
请问b的结果为什么不是先计算三个++a,得出a=4,然后b=12.
作者: codersun    时间: 2015-8-4 00:33
本帖最后由 codersun 于 2015-8-4 00:41 编辑

b=2+3+4=9,从左到右如果说为什么,涉及到 JVM 底层入栈出栈,计算机不可能同时计算三个表达式,是将变量和运算符按照帧压入栈中,再计算。

作者: godboy001    时间: 2015-8-6 16:44
()优先级最大,先计算()内部的,第一个++a是2,第二个是3,第三个是4,然后加,然后等于




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2