Java基础第二天拓展——栈(面试题)

a = 1;

a = a++ + ++a;

解析:

使用关键词:局部变量栈、操作数栈、符号栈。

1.a=1压入局部变量栈底层

2.a++则为1+1=2,压入操作数栈底层为2

3.++a处由于a=1,所以依旧为1+1=2,并将这个2压入操作数栈上一层

4.+加号压入符号栈,由于++为自加不属于运算符,所以不压入符号栈

5.所以得出结论:操作数栈中从上到下为2——2,符号栈中从上到下只有一个+,所以2+2=4

 

以下代码测试结果:

 

posted @ 2019-10-10 08:10  java_取名南  阅读(202)  评论(0编辑  收藏  举报