记一次运算符间的小趣事

网上偶然看到一个这样的题目

int i = 1;
int j = ++i + i++ + ++i + ++i + i++;
请问j最后等于多少?

当时题目上说不用java编辑器运行,自己运算下,然后复制到编辑器运行看结果是否一致,出于好奇心,就自己算了下,然后和编辑器运行给的结果不一致,发现自己对于++这个运算符理解的还是不透彻

分析

根据结果分析 ++i 和 i++ 在参与运算时都是分为两步走的,一步时+号的运算本身,另外一部分是i++本身,自己运算结果错误的原因在于,++i + i++ 这一步,自己把++i + i后的结果又进行了++操作导致结果比实际结果大,正常+操作只是相加的i本身,+操作结束就结束了,后边进行i++这只是i本身的操作和+操作没有关系,这样关系就顺了

同学自己进行运算挑战下吧!

猜你喜欢

转载自blog.csdn.net/qq_21875331/article/details/115066726