正在回答
5回答
Java中,同一条语句是从左往右执行的吧,根据运算符优先级应该
//先算(a++)=a+1=2+1=3;(--a)=a-1=2-1=1,此时a=3
//再算a=3+3+1,结果a=7
慕盖茨9548946
2018-05-10 09:45:41
不对吧,这个应该是2+3+2得出的7,先算等号右边的,最后一步是把右边的结果赋值给左边的a
//(a++)这一项在这式子里就是当作2算的,自增运算在这之后,所以第二个a的值在这式子里当作3算,(--a)这一项先进行自减运算,所以当作2算。所以全部加起来就是2+3+2=7,最后一步是赋值给左边的a。
//可以用另几个个例子来验证这一说法。
比如:
int a=2;
a=(a++)+2*a;
//这个结果应该是2+2*3=8
int a=2;
a=(a++)*2+a;
//这个结果应该是2*2+3=7;
int a=2;
a=(--a)+a*2;
//这个结果应该是1+1*2=3
int a=2;
a=(--a)*2+a;
//这个结果应该是1*2+1=3
Java零基础入门18
- 参与学习 人
- 提交作业 7317 份
- 解答问题 14452 个
想要入门学编程?多年一直活跃在编程语言排行版前列的Java是一个很好的选择。本路径将从Java基础语法、面向对象、常用工具类三部分,为你开启软件开发的大门!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星