MINT lernen

Methoden

Dreimal fast derselbe Code — und jeder Tippfehler muss dreimal gefunden werden. Das geht eleganter.

1

Code auslagern

  • Methode:ein benannter Block, den du beliebig oft aufrufst — in Python eine Funktion mit def.
  • Ort:steht in der Klasse neben main, nie darin; vorerst immer mit public static.
  • void:die Methode gibt nichts zurück, sie erledigt nur etwas: public static void gruss().
  • Aufruf:in main mit Klammern und Semikolon: gruss();
  • Argument:der Wert, den du beim Aufruf mitgibst: linie(12);
  • Vorteil:der Code steht nur einmal da — eine Korrektur wirkt überall.

In Einkauf.java steht dreimal fast derselbe Block. Wähle einen Block, tippe den Teil an, der sich zwischen den Blöcken unterscheidet, und lagere ihn aus. Ersetze danach die übrigen Blöcke durch Aufrufe. Tastatur: Tab zum Block, Enter wählt.

Doppelten Code auslagern

QuelltextEinkauf.java
Konsolejava Einkauf
18Zeilen gesamt vorher 18
14Zeilen in main vorher 14

Halte fest: Beim Auslagern wird der Teil, der sich unterscheidet, zum Parameter (n); jeder Block schrumpft zu einem Aufruf mit seinem Argument. main wird kurz und lesbar, die Ausgabe bleibt gleich — und eine vierte Linie kostet nur noch eine Zeile.

2

Parameter und Rückgabe

  • Parameter:Variable im Kopf, immer mit Typ: linie(int n); mehrere mit Komma: (int a, int b).
  • return:beendet die Methode und liefert einen Wert: return x * x;
  • Rückgabetyp:steht vor dem Namen und muss zum Wert passen: int, double, boolean, String.
  • Lokal:Variablen und Parameter gibt es nur in ihrer Methode — main kennt sie nicht.

Herleitung:

def quadrat(x): return x * x
| Typen ergänzen
Start: die Python-Funktion — ohne Typangaben.
int quadrat(int x)
| public static
Rückgabetyp vor den Namen, Parametertyp vor den Parameter.
public static int quadrat(int x)
| Rumpf in { }
Wie bei main: public static davor.
public static int quadrat(int x) { return x * x; }
Ergebnis
Aufruf: int q = quadrat(7); — q ist 49.
Merke

Methode: public static Rückgabetyp name(Typ parameter) { … return wert; } — mit void, wenn nichts zurückkommt.

3

Allgemeine Hinweise

Nicht in main schreiben

Steht eine Methode innerhalb von main, meldet javac illegal start of expression. Methoden stehen nebeneinander in der Klasse.

return vergessen

Hat die Methode einen Rückgabetyp wie int, muss sie mit return enden — sonst: missing return statement.

Sprechende Namen

Methodennamen beginnen klein und sagen, was passiert: linie, berechneSumme, istGerade.

Videos