今天做算法的时候发现了有道题目是在for循环中是用++i而不是平常所使用的i++,好奇心驱使查了一下有没有区别,结果是在性能上有所区别,以后还是多考虑用++i吧~
下面是查阅之后的一些总结。
for循环的语法定义 ++i 和 i++的结果是一样的,都要等代码块执行完毕才能执行,但是性能是不同的。在进行大量循环的时候++i的性能要比i++的性能好。
原因:
i++是在使用当前值之后再+1,所以需要一个临时的变量来转存。
而++i则是在直接+1,省去了对内存的操作的环节,相对而言能够提高性能。
i++ 即后加加,原理是:先自增,然后返回自增之前的值。
++i 即前加加,原理是:先自增,然后返回自增之后的值。
更详细的内容可以查看:https://blog.csdn.net/android_cai_niao/article/details/106027313,讲得很详细。