其实现在学基础,教程都会跟你们解释i++和++i的区别,相信大家都知道。只不过这个代码涉及到的知识面目前超出了你们的范围,听听就行,不要纠结。以后编码多了深入了你们自己自动会去了解的。
a = a++,首先理应来说是将a 赋值给 a然后 a 再自增吧,但是,在java运算符优先级里面,++是比=要高级的,所以尴尬的java只是先临时开辟个内存空间保存a的值,然后a自增,再从刚刚的临时空间把值取出来,赋值给a。
就有点像楼上说的:
int temp = a;
a++;
a = temp;
所以这道题答案是10-10
好了,你们不需要纠结为什么,学基础就先知道i++和++i的执行顺序就可以啦 |