取消

源码库积分购买,一块钱一积分。

扫码支持

打开微信扫一扫,2两分钟内即可到账(注意:购买积分留言备注自己注册的邮箱),如有疑问请联系站长

打赏

取消

作者很不错,打赏一下

扫码支持
你的打赏,就是作者分享代码最大的动力[嘻嘻]

打开微信扫一扫,即可进行扫码打赏支持

java里面for循环中i++与++i的区别

  发布于
积分: 收藏
联系作者 :点击QQ图标联系作者寻求帮助,得到帮助解决问题后,记得打赏支持一下作者的辛苦劳动
本站长承接毕业设计、课程设计以及技术分享,有需要的加站长QQ咨询:2835777178

因为我是做Android的嘛,平时在使用for循环时,都是这样写的:for(int i=0; i<10; i++),用的 i++。然而今天看算法的时候,发现有的for循环是这样的:for(int i=0; i<10; ++i),用的 ++i。
刚刚看到的时候就在想在for循环中 i++ 和 ++i 有什么区别呢?
越想心里越闹不停,没心思往下看了,只好自己取查查资料,再用实例尝试了一下,发现它们在for循环里面效果是一模一样的!
首先我们应该都知道++i与i++的区别是: ++i 是先执行 i=i+1 再使用 i 的值,而 i++ 是先使用 i 的值再执行 i=i+1;
然后我们也知道for循环的执行顺序如下:
for(A;B;C) {    D; } 1 2 3 4 进入循环执行A;//只是进入的时候执行. 执行B;//条件为真才执行D,不然就跳出for了. 执行D; 执行C; 再回到第2步开始执行 那么我们接着看下面实例:
1.for (int i=0; i<10; i++):
for(int i = 0; i<10; i++) {     System.out.println(i); } 1 2 3 相当于:
for(int i=0; i<10;) {     System.out.println(i);     i++; } 1 2 3 4 5 2.for (int i=0; i<10; ++i):
for(int i = 0; i<10; ++i) {     System.out.println(i); } 1 2 3 4 相当于:
for(int i=0; i<10;) {     System.out.println(i);     ++i; } 1 2 3 4 5 在上述的循环体中,i++ 和 ++i 的作用是一样的。
打印出来的信息都是:
0  1  2  3  4  5  6  7  8  9
打印信息也证明了 i++ 和 ++i 的作用是一样的。
然而到这步我们也只是知道了作用效果是一样,但是他们肯定是有一定区别的。
所以我去把循环耗时也打印了出来,  循环次数=100的时候:,
循环次数=1000的时候:,
循环次数=10000的时候:,
相信大家也看出来区别了,没错,就是运行时间有差别,当循环此时较少没多少出入,但是当我们循环的次数上去了那么这差距就有点明显了。然后仔细探考后发现:在Java中i++语句是需要一个临时变量取存储返回自增前的值,而++i不需要。这样就导致使用i++时系统需要先申请一段内存空间,然后将值赛如进去,最后不用了才去释放。多了这么一系列操作时间当然多了啊,最后建议大家以后在写for循环且不影响逻辑的情况下多使用++i,少使用i++,这也算一定程度的系统优化不是( ̄▽ ̄)”。本片文章到此结束,谢谢大家观看! ---------------------  作者:皮小智  来源:CSDN  原文:https://blog.csdn.net/github_37847975/article/details/77369851  版权声明:本文为博主原创文章,转载请附上博文链接!


提交评论
本月评论榜
本月下载榜
本月收藏榜