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 mitpublic static. - void:die Methode gibt nichts zurück, sie erledigt nur etwas:
public static void gruss(). - Aufruf:in
mainmit 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.
Einkauf.javajava EinkaufHalte 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.
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 —
mainkennt sie nicht.
Herleitung:
def quadrat(x): return x * xint quadrat(int x)public static int quadrat(int x)main: public static davor.public static int quadrat(int x) { return x * x; }int q = quadrat(7); — q ist 49.Methode: public static Rückgabetyp name(Typ parameter) { … return wert; } — mit void, wenn nichts zurückkommt.
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.
