Jetzt lerne ich Java 6

Break und Continue

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Der Befehl 'break' beendet eine Schleife sofort und macht mit dem Code danach weiter, weniger brutal wirkt der Befehl 'continue': Damit weisen Sie die Schleife an, den Rest des Schleifencodes zu überspringen und sofort zum nächsten Schleifendurchlauf zu wechseln.
09:37

Transkript

Ein Schlüsselwort, was Ihnen in der letzten Zeit immer wieder begegnet, ist zwar das Schlüsselwort break, und darauf bin ich nicht so genau eingegangen, möchte dies aber in diesem Film nachholen und gleichzeitig Ihnen noch eine enge Verwandte das Schlüsselwort continue vorstellen. Hierzu wollen wir ein kleines mathematisches Problem lösen. Wir möchten gerne alle geraden Zahlen ausgegeben haben in einem gewissen Bereich. Das bedeutet, wenn ich Ihnen sage: "Schreiben alle geraden Zahlen zwischen 0 und 100 auf", dann kann das ein Programm für Sie erledigen, und genau das wollen wir schreiben. Die Idee dahinter ist, dass wir eine Schleife benutzen, eine while-Schleife, die läuft immer vor sich hin und zählt einen Zähler hoch. Und jede Zahl wird getestet, ob sie gerade ist. Und wenn eine Zahle gerade ist, wird eine Ausgabe generiert. Wenn die Zahl nicht gerade ist, wird keine Ausgabe generiert, und das läuft weiter. In dem Fall wollen wir natürlich auch, dass Zwischenschleife stoppt, sonst haben wir eine Endlosschleife. Wenn Sie wollen, können Sie jetzt kurz auf Pause drücken und sich überlegen, wir können dann sowas mit dem Wissen, was Sie jetzt bereits haben, lösen. Wenn Sie das nicht machen wollen, ich gucke mich nach, versprochen, dann machen wir das jetzt gemeinsam. Im ersten Schritt benötigen wir einen zaehler. Dafür nehmen wir einen int (Integer), zaehler und setzen den direkt mal auf 0. Anschließend brauchen wir eine Schleife. Diese Schleife, klar, könnten wir jetzt eine Vorschleife verwenden, dann könnten wir automatisch zählen lassen bis zu der Zahl, wo wir hin wollen, aber in meinem Fall will ich einfach mal eine while-Schleife benutzen, und eine recht gefährliche, denn ich setze als Bedingung true, das heißt, diese Schleife läuft solange, wie das Programm läuft. Sprich, wir haben eine Endlosschleife an dieser Stelle, und wir werden dann gleich händisch über break diese Schleife abbrechen, wenn wir den Zielpunkt erreicht haben. Also, vorsicht an dieser Stelle! Im nächsten Schritt baue ich meinen zaehler, und zwar hier wird gegebenfalls um eins kommentiert. Anschließend müssen wir drauf achten, dass wir irgendwann die Schleife wirklich auch mal beenden, also sozusagen in einer Abbruchbedingung setzen. Das machen wir hier direkt, damit wir das nicht vergessen. Wir sagen einfach, wir brechen durch eine if-Abfrage ab, und zwar wenn der zaehler größer ist als der Wertebereich, indem wir uns bewegen wollen. Ich setze es hier einfach mal händisch auf 100. Später können wir natürlich hier oben noch einen weiteren Parameter hinzufügen und dann entsprechend hier auf dem Parameter testen. Und wenn es also soweit ist, dann verwenden wir break. Mit break, das haben Sie bereits in einem Vorfilm gehört, wird die momentane Schleife abgebrochen. Wir stehen in dieser while-Schleife, in dieser Endlosschleife, und damit würden wir wirklich tatsächlich auch da wieder rauskommen. Also, das ist eine Anwendung von break an dieser Stelle. Jetzt müssen wir noch die Sache mit geraden Zahlen lösen. Wie findet mir heraus, ob eine Zahl gerade oder nicht? Haben Sie eine Idee? Nun, zur Lösung unseres geraden Zahlenproblems können wir den Modulo-Operator verwenden. Sehen sich, mit Hilfe von Modulo bekommen Sie den Rest einer Operation heraus. Wenn ich also unseren zaehler hier habe, der ist zuerst zum Beispiel 2, 2 ist ein gerade Zahl, und wir teilen 2 durch 2, dann kommt der 1 raus, also eine gerade Zahl. Würden wir 3 durch 2 teilen, nun, 3 ist eine ungerade Zahl, dann würden wir einen Rest bekommen in irgendeiner Art und Weise, denn wir würden 1, irgendetwas bekommen. Na ja, gut. Und genau das könnte uns Modulo jetzt helfen. Wenn wir also den zaehler Modulo 2 nehmen, dann würden wir immer den Rest einer Division durch 2 bekommen. Und wenn ich 3 Modulo 2 rechne, selbst erraten, kommt 1 Rest 1 aus. Also, immer, wenn wir einen Rest bekommen, die Größe ist also 0, die Zahl ist nicht gerade. Das können wir also so fassen: zaehler Modulo 2 != 0. Dann ist die Zahl nicht gerade. Und da wir das so natürlich nicht stehen lassen können, klammern wir das und setzen kurzerhand ein kleines if davor. Dann haben wir nämlich eine Abfrage. Ja, jetzt müssen wir eigentlich sagen: "Hmmm, ist nicht gerade". Machen wir das einfach mal hier, indem wir hier einen Codeblock einsetzen. Das können wir gleich ein bisschen ändern, aber zum Entwickeln reicht das erstmal. Also, dann wäre die Zahle nicht gerade, ansonsten wäre die Zahl gerade, setze ich mal hier kurz mal hin, und dann lassen wir die direkt mal hinterschreiben, wie gesagt, das überarbeiten wir gleich noch ein bisschen, aber zum Anfang soll es genügen, und dann lassen wir das Ganze mal laufen. Und das wäre jetzt das Ergebnis unseres Skriptes. 2 ist gerade, danach kommt es nicht gerade, das wäre die 3 gewesen, die Zahl ist gerade 4 und so weiter und sofort. Wow, das klappt schon! Also, das Problem ist vom Prinzip her schon gelöst, aber noch ein bisschen unelegant hier, das gefällt mir noch nicht, denn ich möchte hier nur die geraden Zahlen ausgegeben bekommen, das heißt, meine Ausgabe soll immer nur die gerade Zahl sein. Und gut, jetzt kann ich diese Zeil hier weglassen, aber ich möchte Ihnen noch ein anderes Model vorstellen, und zwar ich lösche einfach mal diesen Teil hier und dort unten das, das hier, rücken wir hier ein Stück tiefer, und hinter dieses if hier schreiben wir das Schlüsselwort continue. continue wird an dieser Stelle, nun, folgendes tun: sobald die Zahl nicht gerade ist, wird er mit continue zum nächsten Durchlauf der Schleife springen. Wo break nach unten herausspringt aus der Schleife, [] continue den nächsten Durchlauf der Schleife an. Und damit wird hier unten diese Zeile jetzt dann noch ein bisschen hoch oder überhaupt nie ausgeführt. Versuchen wir es, und wir bekommen wirklich nur noch die geraden Zahlen geliefert. Das wäre jetzt die fertige Lösung unseres Problems - relativ kurz und übersichtlich, aber ich habe Ihnen noch versprochen, auch diese Ausgabe hier können wir noch ein kleines bisschen eleganter gestalten, und dazu werde ich eine für Programmiere, die aus anderen Programmiersprachen wird, zum Beispiel C, C++ oder ähnliche Sprachen kommen, bekannte Funktion printf verwenden. Die gibt es nämlich seit Java 5, und die können wir auch mal verwenden. Daher lösche ich kurz mal hier hinten das Ganze. Und wenn ich jetzt hier nach System.out einem Punkt setze, dann bekommen wir alle Methoden, die hier vorhanden sind. Und wenn wir hier mal kurz durchscrollen, sehen wir prints und hier 2 printf Varianten: einmal printf, es wird ein String erwartet mit einem Format string und eine Argumentenkette dahinter, und die möchte ich gerne verwenden, das heißt, die will ich mit hieraus, hier NetBeans, bekommen wir dann auch hier noch eine nette Erklärung. Für die Leute, die sich schon mal in anderer Programmiersprache mit printf beschäftigt haben, es ist hier sehr, sehr ähnlich innerhalb von Java, und daher können wir dann an dieser Stelle schreiben die Zahl, und jetzt müssen wir einen Platzhalter definieren an dieser Stelle, an der die Zahl eingesetzt werden soll. Das machen wir mit Prozent (%) und dann zum Beispiel i ist gerade. Und dann müssen wir noch einen Zahlenumbruch generieren. Das machen wir durch Wechsel \n, und jetzt brauchen wir eben die Liste von Argumenten, damit hier etwas entsprechend eingesetzt werden kann. Und wir haben nun ein einziges Argument, und das ist der zaehler, setzen wir einen Semikolon ans Ende und lassen das kurz mal durchlaufen, und wir bekommen noch eine Exception, Ich habe mich wohl irgendetwas falsch in meinem Gedächnis. Woher bekommen wir die Hilfe? Nun, Sie können folgendes tun. Sie können hier einfach printf markieren rechte Maustaste darauf, sagen "Show Javadoc", dann öffnet sich die Dokumentation von Java. Ich verkleine Ihnen das im ganzen Mal ein bisschen, und hier müssen wir uns jetzt erstmal die passende Methode heraussuchen, hier printf, das sehen wir wieder, die hier wollen wir haben, wir klicken darauf und bekommen jetzt hier also die Erklärung, wie das Ganze auszusehen hat. Wir sehen also hier die Parameter wie printf funktioniert, hier ist das Format, mit dem habe ich erscheinbar noch ein Problem und kann mir hier jetzt anschauen "A format string as described in Format string syntax". Wenn ich dadrauf gehe, bekomme ich also hier eine wirklich ausführliche Erklärung. Ich versuche das jetzt einfach mal, hier entspechend zu ändern, indem ich jetzt hier einfach mal sage den ersten Parameter an dieser Stelle, lasse das Ganze durchlaufen. Stimmt auch nocht nicht ganz. Ich setze dann noch ein $d dahinter, und schon ist die ganze Sache geregelt, das heißt, Sie haben auch die Möglichkeit hier, relativ schnell auf die mitgeliefert Hilfe zu kommen, wenn Sie natürlich die Java-Dokumentation, wie wir das in den Einstiegerkapiteln bei der Installation unsere Arbeitsumgebung gezeigt haben, auch wirklich durchgeführt haben, dann kommen Sie relativ schnell hier zu der entsprechenden Hilfe. Hier ist es also nochmal das Format komplett: Prozentzeichen, Argumentenindex, dann das $-Zeichen, und hier unten drunter finden Sie dann eben recht viele Erklärungen und die verschiedenen Einstellmöglichkeiten. Und hätte ich das vorher nochmal brav nachgelesen, dann hätte ich das natürlich direkt machen können, aber dann hätten Sie eben nicht gesehen, wo Sie entsprechend Hilfe finden, und das ist manchmal auch ganz gut. Unser Problem ist gelöst- Ich denke, damit können wir break und continue, nun, verwenden und können uns noch einem kleinen Praxisbeispiel zuwenden.

Jetzt lerne ich Java 6

Steigen Sie ein in die Programmierung mit Java 6, lernen Sie die Grundlagen kennen und unternehmen Sie anschließend Ihre ersten Schritte in der objektorientierten Programmierung.

12 Std. 27 min (98 Videos)
Derzeit sind keine Feedbacks vorhanden...

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!