前言:
在刷LeetCode中参考最佳解法时观察到官方在for循环中会经常用到++i,而不是我们从一开始接触java就建立的用i++的习惯,当我第一次看见前者这种用法时,会对自己产生怀疑,难道他们的用法真的有区别吗?但经过我查阅资料,其实两种并没有直接的区别,唯一的区别就是代码运行的效率问题。
区别:
for循环中i++:java中i++是先返回i的值后再自增i,所以在每次for循环时都会花费额外的内存和时间去开辟新的临时变量空间来转存,故其效率会更低。
for循环中++i:java中++i是直接将i自增后再返回,省去了开辟新的临时变量的额外消耗,故其效率比i++高。
总结:
综上所述,其实在for循环中使用i++与++i并没有什么太大的区别,此篇文章就没有花篇幅通过代码演示来具体验证两种方法的效率问题了,但是在以后的编程中,可以尽量建立在使用for循环时用++i,既培养了良好的编程习惯,也使得代码执行效率更高。
此篇文章是刷题过程中所遇到的一个小困惑,基于查阅资料与结合自己的理解撰写而来,希望对其他遇到此类问题的小伙伴有帮助,若有其他错误与不妥之处请多多包涵,如果有错误与补充欢迎在评论区留言。