PHP中的i 與 i的區別及效率

2021-09-02 18:18:38 字數 729 閱讀 1550

先看看基本區別:

i++ :先在i所在的表示式中使用i的當前值,後讓i加1

++i :讓i先加1,然後在i所在的表示式中使用i的新值

++i相當於下列**

i += 1;

return i;

i++相當於下列**

j = i;

i += 1;

return j;

當然如果編譯器會將這些差別都優化掉,那麼效率就都差不多了。

再給大家詳細說下++i 與 i++ 的區別

1、++i 的用法(以 a=++i ,i=2 為例)

先將 i 值加 1 (也就是 i=i+1 ),然後賦給變數 a (也就是 a=i ),

則最終 a 值等於 3 , i 值等於 3 。

所以 a=++i 相當於 i=i+1 ,a=i

2、i++ 的用法(以 a=i++ ,i=2 為例)

先將 i 值賦給變數 a (也就是 a=i ),然後 i 值加 1 (也就是 i=i+1 ),

則最終 a 值等於 2 ,i 值等於 3 。

所以 a=i++ 相當於 a=i , i=i+1

3、++i 與 i++

a=++i 相當於 i++ , a=i

a=i++ 相當於 a=i , i++

4、++i 與 i++ 單獨使用時,相當於 i=i+1

如果賦給乙個新變數,則 ++i 先將 i 值加 1 ,而 i++ 先將 i 賦給新變數。

i 與 i的效率差別

i 與 i的區別,我就不多說了。今天主要說明一下它們的效率上的差別。如果只是對內建資料型別 如int 兩者的差別很小,基本上沒有,這個可以從彙編 上看出來。但是如果對於c 裡的類,那 i和i 兩個是運算子過載,它們的區別就比較明顯了 i 和 i的 最重要的區別大家都知道就是 1和返回值的順序,但,兩...

i 與 i的效率比較

解析 在這裡宣告,簡單的比較字首自增運算子和字尾自增運算子的效率是片面的,因為存在很多因素影響這個問題的答案。首先考慮內建資料型別的情況 如果自增運算表示式的結果沒有被使用,而是僅僅簡單的用於增加一員運算元,答案是明確的,字首法和字尾法沒有任何區別,編譯器的處理都應該是相同的,很難想象得出有什麼編譯...

java中i 與 i的區別

直接給大家看 就明白了。package cong.test i與i 的區別 author cong public class jiajia system.out.println int h 0 while h 5 執行出來的結果是 區別在於你是否要用 i或i 這一時刻的值進行操作。其實你可以想象這時...