2015-11-07 72 views
0

我只是好奇,因爲我一直在使用break語句很多,但顯然我被告知這是不好的做法。顯然在邏輯上,如果某件事情得到滿足,它也可以終止。我只想知道除了休息之外是否還有別的東西。是否有另一種方式退出循環沒有休息聲明

+1

exact dup http://stackoverflow.com/questions/3922599/is-it-a-bad-practice-to-use-break-in-a-for-loop。在發佈問題之前檢查谷歌 –

+4

是的。添加邏輯和循環[*條件*](https://en.wikipedia.org/wiki/For_loop#Traditional_for-loops)。但我會不同意,並說「休息」不是普遍的壞習慣。 –

回答

-1

如果您只是從循環中返回,那應該就足夠了。大多數人認爲你必須終止循環,但事實並非如此。

此外,請參閱此answer

0

這會突破for循環。事實上打破只談論循環時,是有道理的,因爲他們完全從環斷裂,而繼續只到下一次迭代 試試這個:

for(int i= 0; i<MAX; i++){ 
if(listEmpt[i] == null){ 
    listEmpt[i] = employeeObj; 
    i=MAX; 
} 

,但我看不出有什麼問題,用休息時間。總會有一些情況你想停止處理一個循環,並使用一箇中斷;使得循環計數器達到一個可以使循環在下一次迭代時停止的值更有意義(並使其更易於閱讀!)。

還可以使用標記的場所,可以打破了外環(和任意碼塊)

looplbl: for(int i=;i<;i++){ 

if (i == temp) 
    // do something 
else { 
    temp = i; 
    break looplbl; 
} 

}

未標記的斷裂僅打破了封閉的開關,爲同時或do-while構造。它不考慮如果陳述考慮。

See for more details.

0

隨着有關使用突破的問候,you could check here.

因爲雖然沒有涵蓋循環(循環,我個人用了很多的另一種形式),你可以看看邁向環路設置條件如

boolean flag = true; 
while (flag) { 
    //do something that modifies the below condition 
    if (condition) { 
     //do something 
     flag = false; 
    } 
} 

當條件等於true時,循環將終止,因爲它將標誌設置爲false。

相關問題