for迴圈中 i和i 的區別

2021-10-06 08:21:22 字數 1192 閱讀 1816

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迴圈中++ii++的結果是一樣的,但是效能是不同的。

在大量資料的時候++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 發現 是...