當條件爲假時,如何停止每個循環的繼續進行?因爲當集合中的所有對象都符合條件時,我只能讓x = newX
。謝謝你的幫助。休息不會有幫助,我試過了。一旦遇到條件,你如何在循環中停止搜索
for (char h : collection){
if (condition == false)
{
}
else{
x = newX;
}
}
當條件爲假時,如何停止每個循環的繼續進行?因爲當集合中的所有對象都符合條件時,我只能讓x = newX
。謝謝你的幫助。休息不會有幫助,我試過了。一旦遇到條件,你如何在循環中停止搜索
for (char h : collection){
if (condition == false)
{
}
else{
x = newX;
}
}
最簡單的方法是使用break語句。但是,只有在列表中的所有元素都通過某些條件時纔想設置新的x值。
boolean allMatch = true;
for (char h : collection) {
if (!condition) {
allMatch = false;
break;
}
}
if (allMatch) {
x = newX;
}
如果你想檢查是否SOF循環中的所有元素都匹配,你可以使用Java 8功能的一些條件:
boolean allMatch = list.stream().allMatch(element -> condition);
if (allMatch) {
x = newX;
}
'allMatch = allMatch && condition;'這一行是不必要的。在第一個if語句中放入'allMatch = condition'或甚至'allMatch = false'就足夠了。 –
是的,但是,爲什麼更新每個循環中的值?只有在條件不匹配的情況下才能做到這一點。 – Beri
你的意思是哪個值?如果你的意思是'allMatch',那正是我指出要避免的。因爲**現在**它沒有更新任何迭代,只是在最後(在「break」之前)。 –
使用break;
聲明break
時,如果條件爲真。
for (char h : collection) {
if (condition == false) {
break;
} else {
x = newX;
}
}
break
語句退出循環。因此
你舉的例子是這樣的:
for (char h : collection){
if (condition == false)
{
break;
}
else{
x = newX;
}
}
瞭解更多關於在official documentation break語句。
使用break;
關鍵字。
它會最終打破循環,並在條件滿足後退出!
也許你可以用一個標誌工作,如果else塊只需要進行一次
boolean test=true;
for (char h : collection) {
if (condition == false) {
test=false;
break;
}
}
if(test){
x=newX;
}
執行可悲的是你的問題不是很清楚。也許你可以舉個例子來說明條件,例如
使用break;退出循環 –
'break'將有所幫助。這是擺脫循環的標準方式(因此名稱)。 – Kayaman
「休息不會,我試過」。它確實有幫助。如果這不是你想要的,那麼請解釋一下。 –