EMZETT.
Login

void

Kurz: Ein spezieller Rückgabetyp für Methoden, die keinen Wert zurückgeben, sondern nur eine Aktion ausführen (z. B. etwas ausgeben oder einen Zustand verändern).

Genauer: Eine als void deklarierte Methode darf zwar mit return; (ohne Wert) vorzeitig beendet werden, aber keinen konkreten Wert zurückgeben — der Aufrufer kann das Ergebnis also nicht in eine Variable speichern. Das Gegenteil sind Methoden mit einem konkreten Rückgabetyp wie double oder einem Referenztyp, die immer einen passenden Wert zurückliefern müssen.

Im Detail

void druckeBegruessung(String name) {
    System.out.println("Hallo, " + name + "!");
    // kein "return wert;" möglich - nur "return;" (optional, vorzeitiges Ende)
}
 
double berechneFlaeche(double breite, double hoehe) {
    return breite * hoehe;   // MUSS einen double zurückgeben
}

Der Unterschied zeigt sich direkt beim Aufruf: Das Ergebnis einer void-Methode lässt sich nicht sinnvoll einer Variable zuweisen (x = druckeBegruessung("Alex") würde in den meisten Sprachen ein Kompilierfehler sein), während eine Methode mit Rückgabetyp genau dafür gedacht ist. void signalisiert damit klar: “Diese Methode wird wegen ihrer SEITENEFFEKTE aufgerufen (etwas ausgeben, einen Zustand ändern), nicht wegen eines Ergebnisses.”

return; (ohne Wert) ist in einer void-Methode trotzdem erlaubt und nützlich, um die Ausführung VORZEITIG zu beenden, etwa nach einer frühen Bedingungsprüfung:

void verarbeiteEingabe(String eingabe) {
    if (eingabe == null || eingabe.isEmpty()) {
        return;   // nichts weiter zu tun, Methode sofort verlassen
    }
    // ... restliche Verarbeitung
}

Der Sonderfall void main(...) — der klassische Programm-Einstiegspunkt vieler Sprachen — ist ein void deshalb, weil ein Programm beim Beenden keinen Wert an “den Aufrufer” im üblichen Sinne zurückgibt; stattdessen kommunizieren Programme ihren Erfolg/Misserfolg meist über einen separaten Mechanismus (den Exit-Code des Betriebssystemprozesses), nicht über den normalen Rückgabewert-Mechanismus einer gewöhnlichen Methode.

Siehe auch: Methods, void main