对于很多Java刚入门的朋友来说很难的自增自减运算符终于解决啦 ++,–
对于下述的这样一道题,是不是让很多人头疼欲裂呢
对于上面的问题,当然编译器立刻立就可以搞定。得出以下的结果13.
讲解细节前大家需要知道的是:
i++是先将i的值进栈,然后在自增,完了之后再将自增后的值存储在数值型的变量空间i中。
i--是先将i的值进栈,然后在自减,完了之后再将自减后的值存储在数值型的变量空间i中。
++i是先自减,然后将自减后的值进栈,完了之后再将自减后的值存储在数值型的变量空间i中。
--i是先先自减,然后将自减后的值进栈,完了之后再将自减后的值存储在数值型的变量空间i中。
具体执行细节如下:
int a = 2;
int b = 3;
int c = 4;
int num = a++ + --b - --a + --c + ++c + c++;
先从常量池中找到2然后复制一份放入变量空间int类型的变量空间a中。
然后从常量池中找到3然后复制一份放入变量空间int类型的变量空间b中。
然从常量池中找到4然后复制一份放入变量空间int类型的变量空间c中。
a++是先将c的值进栈(进入的值是2),
共有 0 条评论