for迴圈使用體會

2022-07-12 05:12:10 字數 595 閱讀 2501

最近在看原始碼的時候看到了以下**:

class var2 = componentclasses;

int var3 = componentclasses.length;

for(int var4 = 0; var4 < var3; ++var4)

發現原始碼裡面用的條件3是:++var4這種型別的條件。當時就感覺很奇怪,應為我一般都是用i++。
雖然我是知道i++與++i的區別的,但我發現我對for迴圈執行的順序不太了解所以我決定趁這個機會徹底搞清楚。

感謝這個大佬的幫助

首先for迴圈的執行順序:

for(**1,**2,**3)

執行順序:**1 → **2 → 迴圈內容 → **3;

由此可得不管**3不管用i++還是++i對迴圈內容的影響都是一樣的。但是為什麼原始碼不用i++而是選擇了++i呢?

原來i++由於是在使用當前值之後再+1,所以需要乙個臨時的變數來轉存。

而++i則是在直接+1,省去了對記憶體的操作的環節,相對而言能夠提高效能。

總的來說就是為了提高效能,減少記憶體的占用。

ubuntu使用體會

以前玩過redhat帶桌面系統的,玩得很累 一大堆命名,記不住,對著命令表,需要什麼就查什麼,相當的累。最近聽說ubuntu版本都到了8.04了,而且桌面系統很好很強大 於是去官方下了乙個,安裝。說實話,安裝真的很簡單,比windows安裝起來方便多了。點了幾下滑鼠,等了約20分鐘後,系統安裝完成了...

try catch finally使用體會

try catch finally public class finallytest static int test finally 結果是2。在try語句中,在執行return語句時,要返回的結果已經準備好了,就在此時,程式轉到finally執行了。在轉去之前,try中先把要返回的結果存放到不同於...

html控制項使用體會

我上篇文章說的是struts2標籤的使用,但是在某些情況下html標籤有它不可替代的作用。比如,下拉框預設顯示文字 請選擇港口名稱 需要做國際化處理時,struts2標籤就無法進行處理,這時就必須使用html。如下 預設第乙個選項之間使用文字國際化處理非常方便。從第二個開始使用標籤迴圈迭代下拉框中的...