warum return; (Java)?

... komplette Frage anzeigen

3 Antworten

Die if-Verzweigung gibt nichts zurück, sondern führt unter bestimmten Bedingungen bestimmte Anweisungen aus.

Vermutlich ist dein Codestück Teil einer void-Funktion (einer ohne Rückgabewert). Dann bedeutet das "return", dass die Funktion, wenn die Bedingungen der if-Verzweigung erfüllt sind, erst "usage(me)" ausführt und sich anschliessend beendet.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von Ap4rat
02.10.2016, 11:22

Danke!!! dann heißt das ja, dass es so gut wie break; arbeitet oder?

1

Die Return-Anweisung gibt einen Wert zurück und beendet die Methode.

private String getTestwert() {
   if (1==1) {
      return "Test";
   }
   System.out.println("...");
   return "ABCD";
}

In diesem Beispiel:  Ist die Bedingung erfüllt: 1==1 (was eindeutig so ist) so wird "Test" als Rückgabewert zurück geliefert. - Der Anschließende Code mit der Konsolenausgabe wird nicht ausgeführt.

Nun gibt es aber auch Methoden die anstatt eines herkömmlichen Rückgabewertes void haben:

private void ausgabe() {
   ...
}

Da void ja für "nichts" steht, gibt es keinen Rückgabewert.

Allerdings kann man dennoch auf return zurück greifen um den anderen Effekt zu erzielen: das Beenden der Methode. 

Nachdem es bei void ja keinen Rückgabewert gibt, so ist einfach nur return zu verwenden;

return;
private void ausgabe() {
   if (1==1) {
System.out.println("Testausgabe");
return;   } System.out.println("Diese Codestelle wird nie erreicht");
}
Antwort bewerten Vielen Dank für Deine Bewertung

Da wird nichts returned. Wenn man in einer Methode, die nichts returned, das Schlüsselwort return benutzt, dann endet die Methode an dieser Stelle. Das passiert natürlich auch, wenn man return in einer Methode nutzt, die etwas zurückgibt. Man muss dann aber zumindest null zurückgeben oder einen Wert, je nach Rückgabewert.

Antwort bewerten Vielen Dank für Deine Bewertung

Was möchtest Du wissen?