1. Die return
Aussage
Denken Sie, Sie haben bereits alles über Java-Methoden gelernt? Was auch immer Sie zu wissen glauben, Sie wissen immer noch nicht die Hälfte davon.
Beginnen wir mit etwas Einfachem. Beispielsweise verfügt Java über eine Return- Anweisung, mit der Sie die aufrufende Methode sofort beenden können. Hier ist die Aussage:
return;
Es ist ganz einfach: das einzelne Wort, return
gefolgt von einem Semikolon. Sobald das Programm diese Anweisung ausführt, wird die aktuelle Methode sofort beendet und der Aufruf fortgesetzt.
Wenn return
in der Methode aufgerufen wird main
, dann main
wird die Methode sofort beendet und mit ihr das gesamte Programm.
Beispiel:
|
Die fill Methode füllt einen Teil des übergebenen Arrays mit value . Der zu füllende Teil des Arrays wird durch die Indizes from und definiert to . Wenn from kleiner 0 oder to größer als die Länge des Arrays ist, wird die Methode sofort beendet. |
Das obige Programm verfügt über eine fill
Methode, die das übergebene Array mit füllt value
. Es füllt nicht das gesamte Array, sondern nur den durch die Indizes from
und angegebenen Teil to
.
Zu Beginn der fill
Methode werden die übergebenen Werte auf ihre Gültigkeit überprüft. Wenn from
kleiner als 0 oder to
größer als die Länge des Arrays, wird die fill
Methode sofort beendet (führt eine return
Anweisung aus).
Diese return
Aussage ist nützlich: Praktisch jede Methode in Java hat eine, und hier ist der Grund dafür.
2. Methoden mit Ergebnis,void
Denken Sie daran, wir haben einmal herausgefunden, dass es Aussagen und Ausdrücke gibt . Ein Ausdruck hat im Gegensatz zu einer Anweisung einen Wert, der irgendwo verwendet werden kann.
Und in Java können Methoden einen Wert haben . Und das ist eine sehr gute Nachricht: Methoden sind nicht nur in der Lage, basierend auf den Eingabeparametern etwas zu tun, sondern beispielsweise auch etwas auszuwerten und das Ergebnis der Berechnung zurückzugeben .
Solche Methoden sind Ihnen übrigens schon begegnet:
|
Die abs() Methode gibt ein Double zurück |
|
Die nextInt() Methode gibt eine zurückint |
|
Die toUpperCase() Methode gibt a zurückString |
|
Die copyOf() Methode gibt eine zurückint[] |
Jede Methode kann nur einen Wert eines vorgegebenen Typs zurückgeben. Der Rückgabetyp wird bei der Deklaration der Methode bestimmt:
public static Type name(parameters)
{
method body
}
Wobei name
der Name der Methode, parameters
die Liste der Methodenparameter und type
der Typ des Ergebnisses sind, das die Methode zurückgibt.
Für Methoden, die nichts zurückgeben, gibt es einen speziellen Platzhaltertyp: void
.
Schreiben Sie Ihre eigene Methode und möchten nichts an die aufrufende Methode zurückgeben? Deklarieren Sie einfach den Typ der Methode als void
und das Problem ist gelöst. Auch in Java gibt es viele solcher Methoden.
3. Ein Ergebnis zurückgeben
Wir haben gerade herausgefunden, wie man eine Methode deklariert, die das Ergebnis einer Berechnung zurückgibt, aber wie bringen wir dieses Ergebnis in die Methode selbst um?
Auch hier hilft uns die return
Aussage weiter. Die Übergabe eines Ergebnisses einer Methode sieht folgendermaßen aus:
return value;
Wo return
ist eine Anweisung, die die Methode sofort beendet? Und value
ist der Wert, den die Methode beim Beenden an die aufrufende Methode zurückgibt. Der Typ value
muss mit dem type
in der Methodendeklaration angegebenen Typ übereinstimmen.
Beispiel 1. Die Methode berechnet das Minimum von zwei Zahlen:
|
Die Methode gibt das Minimum von zwei Zahlen zurück. Wenn a < b zurück, a sonst zurück b |
Beispiel 2. Die Methode dupliziert die ihr übergebene Zeichenfolge n
mehrmals:
|
Die Methode benötigt zwei Parameter – eine Zeichenfolge und die Häufigkeit, mit der die Zeichenfolge wiederholt werden soll. Für das zukünftige Ergebnis wird eine leere Zeichenfolge erstellt. In einer Schleife mit times Iterationen wird der Zeichenfolge ein Leerzeichen und str die Zeichenfolge hinzugefügt result . Der String result wird als Ergebnis der Methode zurückgegeben. |
Beispiel 3: Die Methode berechnet das Maximum zweier Zahlen mit dem ternären Operator:
|
Die Methode gibt das Maximum von zwei Zahlen zurück. return (wenn a > b , dann a , sonst b ) |