Ich schaue mir ein Tutorial zum Finden von Pfaden an und habe eine return
Anweisung in einer void
Methode (Klasse PathTest
, Zeile 126) bemerkt :
if ((x < 0) || (y < 0) || (x >= map.getWidthInTiles()) || (y >= map.getHeightInTiles())) {
return;
}
Ich bin ein Anfänger bei Java. Kann mir jemand sagen, warum es dort ist? Soweit ich wusste, return
ist eine Methode der Leere nicht erlaubt.
return
funktioniert es sehr ähnlich wiebreak
in einer Schleife und beendet einfach den fraglichen Code. Es gab viele Flammenkriege um mehrere Austrittspunkte von Funktionen und einige Sprachen zwingen Sie auf die eine oder andere Weise. Ich nehme keine Position zu mehreren Austrittspunkten ein, aber ich werde darauf hinweisen, dass das Verlassen einer Funktion den lokalen Stapel bereinigt.Sie können
return
in einer void-Methode haben, Sie können einfach keinen Wert zurückgeben (wie inreturn 5;
), deshalb nennen sie es eine void- Methode. Einige Leute beenden void-Methoden immer explizit mit einer return-Anweisung, dies ist jedoch nicht obligatorisch. Es kann jedoch verwendet werden, um eine Funktion vorzeitig zu verlassen:void someFunct(int arg) { if (arg == 0) { //Leave because this is a bad value return; } //Otherwise, do something }
quelle
Das Schlüsselwort fügt einfach einen Frame aus dem Aufrufstapel ein und gibt das Steuerelement an die Zeile zurück, die dem Funktionsaufruf folgt.
quelle
Die Sprache Java - Spezifikation sagt , dass Sie Rückkehr ohne Ausdruck haben kann , wenn Ihre Methode void zurückgibt.
quelle
Es verlässt die Funktion und gibt nichts zurück.
So etwas
return 1;
wäre falsch, da es die Ganzzahl 1 zurückgibt.quelle
Es funktioniert genauso wie eine Rückgabe für eine Funktion mit einem angegebenen Parameter, außer dass nichts zurückgegeben wird, da nichts zurückgegeben werden muss und die Steuerung an die aufrufende Methode zurückgegeben wird.
quelle
In diesem Beispiel möchten Sie der Liste unter bestimmten Bedingungen hinzufügen. Ohne das Wort "return" werden alle ifs ausgeführt und zur ArrayList hinzugefügt!
Arraylist<String> list = new ArrayList<>(); public void addingToTheList() { if(isSunday()) { list.add("Pray today") return; } if(isMonday()) { list.add("Work today" return; } if(isTuesday()) { list.add("Tr today") return; } }
quelle