Frage zur Rückgabe von Werten bei Methoden

Lestas89

Bekanntes Mitglied
Ich versteh immer noch nicht was der return-Operator bei Methoden bewirkt.
Ich habe hier ein ganz einfaches Programm, das den größeren Wert ausgibt:

Java:
class Programm{  
  
  
   static void max(int a, int b){
  
   if (a > b)
    System.out.println(a);
   else
    System.out.println(b);
  
   }
  
  public static void main (String args[]){
  int a = 7, b = 6;  
  max(a, b); 
  
     }
}

Die max-Methode liefert doch hier einen Wert an die main methode zurück obwohl ich oben void stehen hab und nicht mit return gearbeitet habe.

Ich hätte ja auch static int(int a, int b) machen können und dann in der Methode return reinschreiben können.

Wieso sagt man denn, dass void nichts zurückliefert? Anscheinend hab ich nicht verstanden was zurückgeben in diesem Sinne heißt.

Vielen Dank im Voraus!
 
Zuletzt bearbeitet von einem Moderator:
die methode liefert nichts zurück, static VOID(nichts) methode
Sie hat aber eine Ausgabe System.out.println( a oder b)
Java:
public static int max( int a, int b){
        int max;
        if( a <b){
            max =a;
        } else{
            max =b;
        }
        return max;
    }

    public static void main(String[] args) {
        int a =5, b=8;
        int max = max( a, b);
        System.out.println(" max ist " +max);
    }
 
noch eine ergänzung: du kannst einen jeden typ als rückgabewert definieren/mitgeben, also
sichtbarkeit (static /static final) RÜCKGABEWERT methodenname parameterliste.
sobald du nicht void als rückgabewert hast muss du ein element/objekt vom typ des rückgabewertes mit return zurückgeben.
 
Hallo strußi, danke dir für deine Antwort und das Beispielprogramm was du geposted hast. Genau so meinte ich das, indem man mit return etwas an main zurückgibt. Ich denke ich habe das jetzt verstanden 🙂

Was genau wird nochmal mit static also der statischen Methode bewirkt? Heißt das, dass dafür kein bestimmtes Objekt nötig ist?
 
Zuletzt bearbeitet:
es bedeutet, dass ohne erzeugung eines objekts dieser klasse auf die methode zugegriffen werden kann.
normalerweise machst du eine klasse WerteErmitteln mit deinen methoden und ohne static, erstellst in der main-klasse die main-methode und erstellst dort ein objekt vom typ WerteErmitteln we =new WerteErmitteln() und rufst dann über int max =we.max( a, b); auf.
 

Zurück
Oben