2014-02-16 94 views
0

這可能聽起來很愚蠢,但我無法通過使用Google搜索找到答案。Java - 對象的for循環條件?

當以最簡單的形式使用for循環時,我可以添加條件來打破for語句中的循環。例如:

for(int i=0; i<100 && condition2 && condition3; i++){ 
    //do stuff 
} 

當使用對象的for循環是這樣的:

for(String s:string_table){ 
    //do stuff 
} 

如何可以添加一個條件打破循環?我正在討論在for語句中添加條件。我知道我可以在內部添加條件/ /做東西的一部分,並從那裏休息。

+1

你不能這樣做...... foreach構造是「固定的」。 – fge

回答

1

你不能做,你必須去通過將如果語句for循環。

+0

這太糟糕了。這將使它更容易 – Anonymous

+0

@ user3051067它不會。它只會縮短一行。如果它讓你感到不安,把if-break放在與大括號相同的行上,並假裝它是for語法的一部分。 – Boann

1

您無法將其他任何內容添加到「enhanced for」語句的()部分。 JLS § 14.14.2

增強for語句的形式爲:

for (FormalParameter : Expression) Statement

的類型表達必須是Iterable或陣列型。

(以下簡稱「FormalParameter」是指一個變量聲明。)

break;聲明是唯一的出路:

for (String s : string_table) { 
    if (condition) break; 
    // ... 
} 
+1

+1。現在你能解釋爲什麼你選擇了這個頭像嗎? :D – Maroun

+1

@MarounMaroun聖誕帽看起來不錯。 – Boann

+0

我會用'if(!condition2 ||!condition3)...'而不是'if(condition)'來更好地匹配OP的代碼。 – dasblinkenlight