for (語句1; 語句2; 語句3)
語句 1 在迴圈(**塊)開始前執行
語句 2 定義執行迴圈(**塊)的條件
語句 3 在迴圈(**塊)已被執行之後執行
前者是:先引用,後增加,
int i=10;
system.out.
println
(i++);
//此時輸出的是10
以上**等價與
int i=10;
system.out.
println
(i);
i=i+
1;
後者是:先增加,後引用,
int i=10;
system.out.
println
(++i)
;//此時輸出的是11
以上**等價與
int i=10;
i=i+1;
system.out.
println
(i);
for
(int i=
0;i<
10;i++
)
等價與
for
(int i=
0;i<10;
)
而
for
(int i=
0;i<10;
++i)
也等價與
for
(int i=
0;i<10;
)
因此無論是i++還是++i,for迴圈中所引用的都是i計算後的值,因此在for迴圈中++i和i++的結果是一樣的,但是效能是不同的。
在大量資料的時候++i的效能要比i++的效能好。
原因:
i++由於是在使用當前值之後再+1,所以需要乙個臨時的變數來轉存。
而++i則是在直接+1,省去了對記憶體的操作的環節,相對而言能夠提高效能。
for迴圈中 i和i 的區別
語法 for 語句1 語句2 語句3 語句 1 在迴圈 塊 開始前執行 語句 2 定義執行迴圈 塊 的條件 語句 3 在迴圈 塊 已被執行之後執行 這就是迴圈中的 i和i 結果一樣的原因,但是效能不一樣,稍後解釋 語句1 同上面語法中的 語句1 語句1 是可選的,也就是說不使用語句1 也可以。var...
學習筆記 for迴圈中 i 和 i 的區別
c語言中 for迴圈的語法定義中 i 和i 的結果是一樣的,都要等 塊執行完畢才能執行語句3,但是效能是不同的。在大量資料的時候 i的效能要比 i 的效能好原因 1.i 由於是在使用當前值之後再 1,所以需要乙個臨時的變數來轉存。2 而 i則是在直接 1,省去了對記憶體的操作的環節,相對而言能夠提高...
for迴圈中的i 與 i
今天遇到乙個for迴圈 for i 1 i 1 i 其中使用的是 i,我以為 i會先於判斷執行,就上網找了找i 與 i的區別。答案很少,有乙個說的是效率後者高一些。然後我又寫了乙個測試的 var j 0 for i 1 i 1 i,j console.log console.log i,j 發現 是...