Methodendeklaration (Java)

Neue Frage »

Auf diesen Beitrag antworten »
Dennis2011 Methodendeklaration (Java)

Meine Frage:
Hallo, liebes Informatikerboard!

Ich habe eine kurze Frage zur Methodendeklaration bei Java.

Und zwar frage ich mich, wann man bei der Deklaration von Methoden eigentlich void nimmt (und wann nicht).

Als Beispiele habe ich folgende im Sinn:

1. Deklaration mit double bei der Methode max() der Klasse Math:

code:
1:
public static void double max(double a, double b)


2. Deklaration mit void bei einer ähnlichen Methode:

code:
1:
2:
3:
4:
5:
6:
7:
8:
static void printMax(double a, double b)
{
  if ( a > b )
    System.out.println( a );
  else
    System.out.println( b );
}


Meine Ideen:
Meine Erklärung hierfür ist, daß man bei 1. (laut Java-Dokumentation) als Rückgabe einen Wert vom Typ double hat (klar: Entweder ist a das Maximum oder b und beide sind ja vom Typ double) und deswegen bei der Methodendeklaration double nehmen muss; bei 2. hingegen bekommt man ja eigentlich keinen Wert (eines bestimmten Typs), sondern eine Bildschirmausgabe. Deswegen nimmt man hier wohl void.


Ist das so korrekt erklärt?

Kann man allgemein sagen, daß man bei Bildschirmausgaben (also print, println,...) void nimmt?
 
Auf diesen Beitrag antworten »
Karlito

Hallöchen,

genau richtig erklärt, nur dass du in deiner ersten Deklartation einen Fehler hast. void und double werden nicht zusammen verwendet. Nur das eine oder das andere.

VG,

Karlito
Auf diesen Beitrag antworten »
Dennis2011

Hallo, Karlito!

Vielen Dank für Deine Antwort.
Ich freue mich, daß ich schon richtig lag.

Und den Fehler im ersten Code (da sollte es natürlich nur double heißen) werde ich in meinen Unterlagen korrigieren.


Ich habe dazu noch eine kleine Ergänzungsfrage:

Unter einem Rückgabewert bzw. einem Ausgabewert hat man doch in etwa Folgendes zu verstehen:


Man kann bei der ersten Methode max(a,b) eine neue Variable initialisieren, also beispielsweise wäre es möglich

code:
1:
double v = max(10,20)


zu setzen (hier bekommt man wirklich einen Wert des Typs double zurückgegeben), wohingegen man bei einem reinen Ausgabewert (etwa: Bildschirmausgabe mit print) keine Variable deklarieren/ initialisieren könnte, weil man eben keinen Wert hat, der einem in irgendeiner Form "zum Weiterverarbeiten" zurückgegeben wird.



Trifft das den Unterschied zwischen Rück- und Ausgabe?
Auf diesen Beitrag antworten »
Karlito

Hi

ja, würde ich ähnlich beschreiben.

VG,

Karlito
 
Auf diesen Beitrag antworten »
natty.dread

um das nochmal zu untermauern:
ein rückgabewert einer funktion, ist in etwa das selbe wie bei einer mathematischen funktion. man hat eingangswerte,welche lokal nur IN der funktion zur verfügung stehen und nach abarbeitung der funktion gelöscht werden. und mit diesen eingangswerten wird (in den meisten fällen,außer bei void) ein rückgabewert berechnet. diesen kann man also erhalten in dem man,wie du gesagt hast, eine variable deklariert und ihr durch nutzung der vorher definierten funktion einen wert zuweisen smile
Auf diesen Beitrag antworten »
Dennis2011

Besten Dank!
 
Neue Frage »
Antworten »


Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »