今天再写LeetCode爬楼梯算法时候发现for循环用的是++i,平时在使用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;
}
进入循环执行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);
}
相当于
for(int i=0; i<10;)
{
System.out.println(i);
i++;
}
2.for