For 循環中 i++ 和 ++i 的區別


首先 ,來說一個結論!


在 for 循環中,i++ ++i 是一樣一樣的,但是++i的循環耗時短。

建議使用 ++i, 畢竟這也是一定程度上的系統優化了!


  • 單獨拿出來說,i++++i 的意思是一樣的,就是 i = i + 1

  • 當做運算符來說

     a = i++ 和 a = ++i 這樣的形式,情況就不一樣了。
    
    a = i++ 的意思是,先把 i 的值賦給a,即 a = i,再執行 i = i + 1;
    
    a = ++i  是先執行 i = i + 1,再把 i 的值賦給 a;
    
    舉個例子來說,如果一開始 i = 4。
    
    那么執行a = i++這條語句之后,a = 4,i = 5;
    
    那么執行a = ++i這條語句之后,i = 5,a = 5;
    
    同理,i-- 和 --i的用法也是一樣的。
    
  • 循環體中的區別

    • for 循環中,for (int i = 0;i < 6;i++)for(int i = 0;i < 6;++i)效果一樣
    • 當循環比較少的時候,二者沒多少出入。可是當循環次數,上升到很大時,差距就很明顯了。

    仔細探考后發現: Javai++語句是需要一個臨時變量,存儲自增前的值,而 ++i 是不需要的。

這也就導致使用 i++ 時系統需要先申請一段內存空間,然后將值塞進去,最后不用了才去釋放。

多了這么一步,效率就會比 ++i 低一些。

/**
for(a;b;c)
{
  d;
}

	1.進入循環執行 a, // 只是進入的時候執行,
	2.執行 b; // 條件為真 執行d,否則,跳出循環。
	3.執行 d ;
	4.再執行 c ;
	5. 回到第二步執行一次。

/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM