next break exit oder return?

Thomasio

Erfahrenes Mitglied
Ich versuche gerade mir eine Liste zusammenzustellen, die übersichtlich und in kurz auflistet, wie man wo raus kommt, einige sind mir schon klar, einige habe ich beim suchen in diversen Tutorials gefunden, aber komplett, kurz und übersichtlich bringe ich es nicht zusammen
Kann mir vielleicht hier jemand die Fehlenden ergänzen?
(Man verzeihe mir, wenn ich Anfänger dabei auch unmögliche Fragen stelle)

while (irgendwas > sonstwas)
{
machwas;
sonstwas++;
}

mitten in machwas aktuellen schleifenlauf abbrechen und mit sonstwas++ weitermachen?
ganze schleife abbrechen? einfach sonstwas = irgendwas setzen oder break?

if (a < b)
{
machwas;
}
else if (c < d)
{
machwasanderes;
}
else
{
machauchwas;
}

mitten im else if das ganze abbrechen?

for (int x = 0; x < 100; x++)
{
machwas;
}

next x? exit? break?

switch (value)
{
case 1:
machwas;
break;
case 2:
machwas;
break;
}

mitten in machwas value = x und das ganze von vorne?
exit?

function()
{
machwas;
}

bei void function() return;
aber wann heisst es return 0; und wann return (0);?

Habe ich noch ähnliche Sachen vergessen in der Liste?
Kennt jemand ein Tutorial wo dies zusammengestellt ist, oder kann es jemand mal kurz und knapp auflisten?
Danke im voraus
 
Hallo,

eine kleine Übersicht:

break: nur erlaubt in Schleifen (for, while, do-while) oder in einem switch-Ausdruck. Setzt die Programmausführung nach dem entsprechenden Block fort.

continue: nur erlaubt in Schleifen. Startet sofort den nächsten Schleifendurchlauf.

return: verlässt die aktuelle Funktion und springt zum aufrufenden Codeteil zurück. Hat die Funktion keinen Rückgabewert (Typ void), muss einfach nur return; notiert werden. Andernfalls muss ein Ausdruck entsprechend des Rückgabetyps der Funktion nach dem return notiert werden (also z.B. return 42;).

Das sollte eigentlich die meisten Fragen beantworten. Wenn nicht, einfach nochmal nachhaken.

Grüße,
Matthias
 
danke für die schnelle Antwort, auf den ersten Blick fehlt mir da nur eins

for (int x = 0; x < 100; x++)
{
for (int y = 0; y < 100; y++)
{
machwas;
}
}

continue und break innerhalb von machwas setzen y fort bzw brechen y ab, aber wie kann ich innerhalb der y Schleife continue x oder break x machen?
da fällt mir erstmal nur sowas ein:

y = 99;
continue;

x = 99;
y = 99;
break;

Das sind die Sachen, wo meine eigene erste Idee so dämlich aussieht, dass ich mir vorstelle, wenn das ein Profi sieht bekommt er n Lachkrampf
 
Hallo,

ein „break x“ wäre in dem Fall einfach ein x = 100; break;. Für ein „continue x“ sollte nur break; reichen. Eine weitere Möglichkeit wäre die Verwendung einer booleschen Variable, die anzeigt, ob die äußere Schleife abgebrochen werden soll. Beispielsweise so:
Code:
boolean bFinished = false;

for (int x = 0; x < 100; ++x) {
    for (int y = 0; y < 100; ++y) {
        if (…) {
            bFinished = true;
            break;
        }
    }
    if (bFinished) break;
}

Damit ist meist leichter und direkt aus dem Quellcode ersichtlich, dass ein vorzeitiger Abbruch der Schleife erfolgen soll.

Grüße,
Matthias
 
Zurück