3.2.1 Schleifentransformationen
3.2.1 SchleifentransformationenDie drei Java Schleifentypen sind für unterschiedliche Zwecke entwickelt worden. Man Sie jedoch ineinander Überführen.
Hier sind einige Regeln
While Schleife in Do-While Schleife überführen
von While Schleife | zu do-While Schleife | |
---|---|---|
Java |
while (Bedingung) {Block A } |
do if (Bedingung) { Block A } while ( Bedingung ) |
UML |
Do-While Schleife in While Schleife überführen
Eine Do-While Schleife führt einen Block mindestens einmal aus. Man kann Sie in eine While Schleife tranformieren in dem man den Block kopiert und voran stellt.
Vorsicht: Durch das duplizieren des Codes wird der Code schlechter wartbar!
von Do-While Schleife | zu While Schleife | |
---|---|---|
Java |
do Block A while ( Bedingung ) |
Block A while (Bedingung) {Block A } |
UML |
For-Schleife in eine While Schleife überführen
von For-Schleife | zu While Schleife | |
---|---|---|
Java |
for (Initialiserung; Bedingung; Veränderung) {Block A} |
Initialisierung while (Bedingung) { Block A; Veränderung } |
While Schleife in For-Schleife überführen
While Schleifen kan man recht einfach in For-Schleifen überführen.
von While-Schleife | zu For-Schleife | |
---|---|---|
Java |
while (Bedingung) { Block A;} |
for (; Bedingung;) {Block A} |
Eine solche Überführung wird aber recht selten angewendet, da der Initialisierungsanteil und die Veränderung der for Schleife irgendwo im Block A verborgen sind.
Do-While Schleife in For-Schleife überführen
Do-While Schleifen kan man auch recht einfach in For-Schleifen überführen.
von While-Schleife | zu For-Schleife | |
---|---|---|
Java |
do { Block A;} while (Bedingung) |
Block A; for (; Bedingung;) {Block A;} |
Eine solche Überführung wird aber recht selten angewendet, da der Initialisierungsanteil und die Veränderung der for Schleife irgendwo im Block A verborgen sind.
- 3916 views
Semikolon
Hallo,
muss bei der Transformation von der For Schleife zu der While Schleife hinter die Initialisierung ein Semikolon?
Und mir ist aufgefallen, dass bei der letzten Transformation die Begriffe in der Tabelle nicht stimmen.Es handelt sich um eine Transformation von einer Do While Schleife zu einer For Schleife, aber in der Tabelle steht von einer While Schliefe zu einer While Schleife.
Mit freundlichen Grüßen!
Danke, stimmt
sehr gut beobachtet. Wurde korrigiert.