Zum Inhalt springen

Schleifen allgemein


SusanneD

Empfohlene Beiträge

Hallo liebe (?) Wissende, :-)

vorweg: Ich hatte dieses Halbjahr nur 15 Stunden Java-Programmierung und die nächste Vorlesung ist erst wieder im September, sonst würde ich dort diese Anfänger-Frage stellen...

Ich habe zwar einiges an Literatur gelesen, aber auch Google und Co. liefern mir zwar die Funktionsweisen von Schleifen, aber nicht die Antwort, wann ich eigentlich was benutzen soll.

Gibt es hierfür Seiten, die ich mir mal anschauen sollte, ich habe wohl die falschen Suchbegriffe benutzt? Muss ja nicht unbedingt für Java speziell sein, diese Sache betrifft ja Programmieren generell, worüber ich auch schon einiges gelesen habe...

Zur Erklärung:

Wir haben bisher hauptsächlich mit while-Schleifen programmiert, und nur die for- und if-Schleifen mal kurz angeschaut.

Z.B. die Fakultät für Zahlen bis 20 habe ich einfach so berechnet:

(...)

for (x = 1; x <= 20; x++)

fakultaet = x * fakultaet;

x --;

(...)

Andere Studenten machen das mit der uns bekannten While-Schleife, mit der ich etwas auf dem Kriegsfuß stehe... Ich hatte es schon am Anfang mit einer Autoleasing-Vergleichsfrage geschafft, eine Endlosschleife zu programmieren und einen Mitstudenten gebraucht, um den Fehler zu finden, peinlich:upps

Danke im voraus und Gruß,

Susanne

Link zu diesem Kommentar
Auf anderen Seiten teilen

Im allgemeinen wird die For-Schleife dann benutzt wenn man vorher weiß wie oft diese durchlaufen soll. So wie in deinem Fall genau 20 mal. Oder aber jedes Element einer Liste /eines Arrays durchlaufen.

Es ist außerdem anzuraten innerhalb einer for-Schleife den Zähler nicht zu bearbeiten, da es so schnell zu Fehlern kommen kann.

Die While-Schleife wird benutzt wenn du halt nicht genau weißt wie viele male die Schleife durchlaufen soll Z.b. wenn du einen Wert berechnen willst. Bei außerdem ist es bei der While-Schleife oftmals von Nöten den zu prüfenden Wert zu verändern weil du sonst schnell eine Endlosschleife hast.

Die Do-While-Schleife ist wie der Name vermuten ähnlich der While-Schleife. Während bei der while-Schleife vor dem ersten Durchlauf geprüft wird ob die Bedingung stimmt wird bei der do-while-schleife erst nach dem ersten Durchlauf geprüft ob die Schleife erneut durchlaufen werden muss.

Ein link zu Schleifen und deren Syntax. Des weitern solltest du dir in diesem Zusammenhang die Anweisungen "break" und "continue" anschauen.

Und btw. es gibt keine if-Schleife sondern nur eine if-anweisung.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Im allgemeinen wird die For-Schleife dann benutzt wenn man vorher weiß wie oft diese durchlaufen soll. So wie in deinem Fall genau 20 mal. Oder aber jedes Element einer Liste /eines Arrays durchlaufen.

Es ist außerdem anzuraten innerhalb einer for-Schleife den Zähler nicht zu bearbeiten, da es so schnell zu Fehlern kommen kann.

Die Anzahl der Durchläufe kann man auch erst im Programm ermitteln.

Allerdings sollte die Zahl vor Beginn der Schleife feststehen.

ein sinnfreies Beispiel:


int zahl1;

int zahl2;

int summe = zahl+1zahl2;


for(int i=0;i<summe;i++)

{

// mach was

}

While Schleifen benutzt man oft bei Funktionen die zb. irgendwann false liefern
while(funktion(parameter)!=false)

{

 // fuehre aktion aus

}

sobald die funktion false liefert, bricht die while ab. Das wäre zum Beispiel auch EOF, end of file. Gebe zb. Zeile für Zeile aus bis man am Ende der Datei ist. Also "End of File".

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

danke für die Antworten. Ich habe mich am Wochenende erfolgreich vor dem Lernen gedrückt und bin erst heute wieder online.

Ich werde nochmal in mich gehen und hoffe, dass sich das Java-Puzzle im zweiten Semester zu einem großen Ganzen vervollständigt. Im Moment kämpfe ich noch an vielen Ecken und Enden, aber das geht ja auch anderen Anfängern so.

Schönen Gruß

Susanne

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich habe zwar einiges an Literatur gelesen, aber auch Google und Co. liefern mir zwar die Funktionsweisen von Schleifen, aber nicht die Antwort, wann ich eigentlich was benutzen soll.

Weil das meistens ziemlich egal ist ob du jetzt eine for, while oder do-while Schleife benutzt. Der einzige Unterschied ist das je nach Programmlogik der eine Schleifentyp bequemer ist als die anderen, aber im Prinzip kannst du eine dieser Schleifen immer durch die Beiden anderen ersetzen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Weil das meistens ziemlich egal ist ob du jetzt eine for, while oder do-while Schleife benutzt.

Das ist nicht ganz korrekt. Performancejunkys wie ich wissen z.B. dass manche Schleifenkonstrukte schneller sind, als andere.

Einen Test gibt es z.B. hier (ganz unten).

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dabei geht es um Flash bzw. Actionscript.

Der Java Compiler und/oder die Runtime krempelt den Code später sowieso so um das er am optimalsten läuft. Das heißt das deine Schleife am Ende evtl. gar keine Schleife mehr ist, Variablen ausgelagert werden usw.

Deshalb kann man solche Vergleich mit anderen (primitiveren) Sprachen imho nicht ziehen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...