Ein Vorlesungsausschnitt mit einem Mentor im Rahmen des Codegym University-Kurses. Melden Sie sich für den gesamten Kurs an.


„Du schon wieder, Amigo. Na ja, hallo.“

„Es scheint, dass du nicht sehr glücklich bist, mich zu sehen, Diego?“

„Ich habe den Eindruck gewonnen, dass Sie denken, Sie hätten bereits alles gelernt, was es über Methoden in Java zu wissen gibt.“

„Oh, das weiß ich nicht…“

„Das glaube ich nicht! Du weißt nicht einmal die Hälfte davon.“

„Klar, ich bin nicht böse...

„Okay, genug geredet. Es ist Zeit zu beginnen. Und wir beginnen mit etwas Einfachem. Zum Beispiel der Tatsache, dass Java eine Return- Anweisung hat. Sie ermöglicht es Ihnen, eine Methode, in der sie aufgerufen wird, sofort zu beenden. Hier ist die Anweisung:

return;

„Es ist ganz einfach: das einzelne Wort returngefolgt von einem Semikolon. Sobald das Programm diese Anweisung ausführt, wird die aktuelle Methode beendet und die aufrufende Methode fortgesetzt.“

„Wenn returnin der Methode aufgerufen wird main, dann mainwird die Methode sofort beendet und mit ihr das gesamte Programm.

Beispiel:

class Solution
{
   public static void fill(int[] data, int from, int to, int value)
   {
     if (from < 0 || to > data.length)
       return;

     for (int i = from; i < to; i++)
     {
       data[i] = value;
     }
   }

   public static void main(String[] args)
   {
     int[] months = {1, 2, 3, 4, 5, 6, 7, 8 ,9, 10, 11, 12};
     fill(months, 2, 10, 8);
   }
}
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 0oder to  größer als die Länge des Arrays ist, wird die Methode sofort beendet.

„Das obige Programm verfügt über eine fillMethode, die das an es übergebene Array mit füllt value. Es füllt nicht das gesamte Array, sondern nur den durch die Indizes fromund angegebenen Teil to.

„Zu Beginn der fillMethode werden die übergebenen Werte überprüft, um sicherzustellen, dass sie gültig sind. Wenn fromsie kleiner als 0 oder togrößer als die Länge des Arrays sind, wird die fillMethode sofort beendet (führt eine returnAnweisung aus).“

„Verstanden. Ist das alles, was diese Aussage aussagt?“

„Tatsächlich returnist die Aussage nützlicher, als Sie denken. Sie ist so nützlich, dass sie in fast jeder Methode in Java zu finden ist. Und jetzt werde ich Sie zu einem Verständnis dafür führen, warum das so ist.“

Methoden mit Ergebnis,void

„Sie erinnern sich wahrscheinlich daran, dass es Aussagen und Ausdrücke gibt . Was ist der Unterschied zwischen ihnen?“

„Wenn ich mich nicht irre, hat ein Ausdruck, anders als eine Aussage, eine Bedeutung, die irgendwo verwendet werden kann.“

„Richtig. Und in Java können Methoden auch 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 zurückzugeben.“ die Berechnung .

„Solche Methoden sind Ihnen übrigens schon begegnet:

double delta = Math.abs(d1 - d2);
Die abs()Methode gibt ein Double zurück
Scanner console = new Scanner(System.in);
int x = console.nextInt();

Die nextInt()Methode gibt eine zurückint
String str = "Hello";
String s2 = str.toUpperCase();
Die toUpperCase()Methode gibt a zurückString
int[] data = {1, 4, 5, 6, 7, 8, 11};
int[] array = Arrays.copyOf(data, 4);

Die copyOf()Methode gibt eine zurückint[]

„Jede Methode kann nur einen Wert eines vorgegebenen Typs zurückgeben . Der Rückgabetyp wird bestimmt, wenn die Methode deklariert wird:

public static Type name(parameters)
{
  method body
}

Wobei nameder Name der Methode, parametersdie Liste der Methodenparameter und typeder Typ des Ergebnisses sind, das die Methode zurückgibt.

Für Methoden, die nichts zurückgeben, gibt es einen speziellen Platzhaltertyp: void.

„Mit anderen Worten, wenn ich meine Methode schreibe und nichts zurückgeben möchte, dann deklariere ich den Typ der Methode als void, und das war’s?“

„Ja. Und ich muss auch sagen, dass Java ziemlich viele solcher Methoden hat.

Ein Ergebnis zurückgeben

„Ich habe herausgefunden, wie man eine Methode deklariert, die das Ergebnis einer Berechnung/Arbeit zurückgibt. Wie gebe ich das Ergebnis der Methode selbst zurück?“

„Das ist eine berechtigte Frage. Die returnAussage hilft uns auch hier weiter. Die Übergabe eines Ergebnisses aus einer Methode sieht so aus:

return value;

„Die returnAnweisung beendet die Methode sofort. Und valueist das, was die Methode an die aufrufende Methode zurückgeben soll, wenn sie beendet wird. Der Typ valuemuss mit dem in der Methodendeklaration angegebenen übereinstimmen Type. Hier sind einige Beispiele, um das Gelernte zu vertiefen:

Beispiel 1. Die Methode berechnet das Minimum von zwei Zahlen:

int min(int a, int b)
{
   if (a < b)
     return a;
   else
     return b;
}
Die Methode gibt das Minimum von zwei Zahlen zurück.

Wenn a < b
zurück, a
sonst
zurückb

Beispiel 2. Die Methode dupliziert die ihr übergebene Zeichenfolge nmehrmals:

String multiple(String str, int times)
{
   String result = "";

   for (int i = 0; i < times; i++);
     result = result + " "+ str;
   return result;
}
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 timesIterationen wird der Zeichenfolge ein Leerzeichen und strdie Zeichenfolge hinzugefügt result.
Der String resultwird als Ergebnis der Methode zurückgegeben.

Beispiel 3: Die Methode berechnet das Maximum zweier Zahlen mit dem ternären Operator:

int max(int a, int b)
{
   return (a > b ? a : b);
}
Die Methode gibt das Maximum von zwei Zahlen zurück.

return (wenn a > b, dann a, sonst b)

„Ausgezeichnet. Methoden sind meine neue Superkraft!“

„Nur, wenn man genug in praktischen Aufgaben übt. Immer wieder.“