然后我们也知道for循环的执行顺序如下:
1.进入循环执行A;//只是进入的时候执行.
2.执行B;//条件为真才执行D,不然就跳出for了.
3.执行D;
4.执行C;
5.再回到第2步开始执行
那么我们接着看下面实例:
1.for (int i=0; i<10; i++):
相当于:
2.for (int i=0; i<10; ++i):
相当于:
在上述的循环体中,i++ 和 ++i 的作用是一样的。
打印出来的信息都是:
0
1
2
3
4
5
6
7
8
9
打印信息也证明了 i++ 和 ++i 的作用是一样的。
然而到这步我们也只是知道了作用效果是一样,但是他们肯定是有一定区别的。
所以我去把循环耗时也打印了出来,
循环次数=100的时候 :,
循环次数=1000的时候:,
循环次数=10000的时候:,
相信大家也看出来区别了,运行时间有差别,当循环此时较少没多少出入,但是当我们循环的次数上去了那么这差距就有点明显了。然后仔细探考后发现:在Java中i++语句是需要一个临时变量取存储返回自增前的值,而++i不需要。这样就导致使用i++时系统需要先申请一段内存空间,然后将值赛如进去,最后不用了才去释放。多了这么一系列操作时间当然多了啊,最后建议大家以后在写for循环且不影响逻辑的情况下多使用++i,少使用i++,毕竟这也算一定程度的系统优化。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |