Eigene Methoden erstellen

Java für Fortgeschrittene

Jim White

Java Developer

Warum wir Methoden nutzen

  • Ideal für wiederkehrende Aufgaben
  • Code wiederverwenden
  • Wiederholung (und Fehler) vermeiden
  • Leichter zu aktualisieren und zu beheben
  • Don't Repeat Yourself (DRY)
Java für Fortgeschrittene

Methoden definieren

returnType methodName(){

  // Code to be run

}
Java für Fortgeschrittene

void-Methode

  • Führt nur eine Aktion aus, gibt nichts zurück
  • void bedeutet nichts
void sayHello(){
    System.out.println("Hello there!");
  }
Java für Fortgeschrittene

Methode mit Ergebnis

  • Methoden können ein Ergebnis liefern
    • Zum Speichern, späteren Nutzen oder Weitergeben
    • Z. B. Quadrat einer Zahl berechnen
  • Dafür:
    • Spezifischen Rückgabetyp wie int oder String nutzen
    • return-Anweisung einfügen
int getSquare() {
  return 5 * 5
}
Java für Fortgeschrittene

Benennungskonvention

Lower Camel Case

  • Erstes Wort klein, weitere Wörter mit Großbuchstaben
  • Beispiele:
    • getSquare()
    • sayHello()
Java für Fortgeschrittene

Groß-/Kleinschreibung

Java unterscheidet Groß-/Kleinschreibung!

Wenn die Methode getSquare() heißt, funktioniert getsquare() nicht!

Java für Fortgeschrittene

Eingebaute vs. eigene Methoden

Eingebaute

  • Aufruf mit Punktnotation
    • "JAVA".toLowerCase();

Eigene Methoden

  • Direkt aufrufen
    • sayHello();
Java für Fortgeschrittene

Eigene Methode verwenden

Code zeigt die Methode sayHello außerhalb der main-Methode, mit hervorgehobenem static-Schlüsselwort

"Hello there!"
Java für Fortgeschrittene

Zusammenfassung

class HelloMethod {
    public static void main (String[] args) {
        sayHello();
        int fiveSquared = getSquare(); // Saving the result of getSquare() as int
    }
    static void sayHello() { // Just prints a message
      System.out.println("Hello there!");
    }
    static int getSquare() { // Returns int 
      return 5*5; 
    }
}
Hello there!
Java für Fortgeschrittene

Lass uns üben!

Java für Fortgeschrittene

Preparing Video For Download...