Guter Herr, nein. Manchmal besteht die Möglichkeit, dass in der Schleife etwas auftritt, das die Gesamtanforderung erfüllt, ohne die logische Schleifenbedingung zu erfüllen. In diesem Fall break
wird verwendet, um zu verhindern, dass Sie sinnlos um eine Schleife fahren.
Beispiel
String item;
for(int x = 0; x < 10; x++)
{
if(array[x].equals("Item I am looking for"))
{
item = array[x];
break;
}
}
Was macht in diesem Beispiel mehr Sinn. Setzen Sie die Schleife jedes Mal auf 10 fort, auch nachdem Sie sie gefunden haben, oder wiederholen Sie die Schleife, bis Sie den Gegenstand gefunden haben und anhalten? Oder um es in reale Begriffe zu fassen; Wenn Sie Ihre Schlüssel finden, suchen Sie weiter?
Als Antwort auf einen Kommentar bearbeiten
Warum setzen nicht x
auf 11
die Schleife zu brechen? Es hat keinen Sinn. Wir haben break
! Wenn Ihr Code nicht davon ausgeht, dass er x
definitiv größer ist als 10
später (und wahrscheinlich auch nicht), können Sie ihn nur verwenden break
.
Der Vollständigkeit halber bearbeiten
Es gibt definitiv andere Möglichkeiten zu simulieren break
. Fügen Sie beispielsweise Ihrer Beendigungsbedingung in Ihrer Schleife zusätzliche Logik hinzu. Zu sagen, dass es entweder sinnlos ist oder verwendet wird, break
ist nicht fair. Wie bereits erwähnt, kann eine while-Schleife häufig ähnliche Funktionen erzielen. Folgen Sie beispielsweise dem obigen Beispiel.
while(x < 10 && item == null)
{
if(array[x].equals("Item I am looking for"))
{
item = array[x];
}
x++;
}
Mit break
einfach bedeutet, dass Sie diese Funktionalität mit einer for
Schleife erreichen können. Dies bedeutet auch, dass Sie nicht immer Bedingungen in Ihre Beendigungslogik einfügen müssen, wenn Sie möchten, dass sich die Schleife anders verhält. Zum Beispiel.
for(int x = 0; x < 10; x++)
{
if(array[x].equals("Something that will make me want to cancel"))
{
break;
}
else if(array[x].equals("Something else that will make me want to cancel"))
{
break;
}
else if(array[x].equals("This is what I want"))
{
item = array[x];
}
}
Anstatt einer while loop
mit einer Kündigungsbedingung, die so aussieht:
while(x < 10 && !array[x].equals("Something that will make me want to cancel") &&
!array[x].equals("Something else that will make me want to cancel"))