Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Praktische Informatik » Methodendeklaration (Java) » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Methodendeklaration (Java)
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Dennis2011 Dennis2011 ist männlich
Grünschnabel


Dabei seit: 07.10.2011
Beiträge: 5
Herkunft: Niedersachsen

Methodendeklaration (Java) Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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?
19.10.2011 17:52 Dennis2011 ist offline Beiträge von Dennis2011 suchen Nehmen Sie Dennis2011 in Ihre Freundesliste auf
Karlito Karlito ist männlich
Kaiser


Dabei seit: 11.04.2011
Beiträge: 1.461

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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
19.10.2011 20:36 Karlito ist offline E-Mail an Karlito senden Beiträge von Karlito suchen Nehmen Sie Karlito in Ihre Freundesliste auf
Dennis2011 Dennis2011 ist männlich
Grünschnabel


Dabei seit: 07.10.2011
Beiträge: 5
Herkunft: Niedersachsen

Daumen hoch! Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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?

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Dennis2011: 20.10.2011 11:01.

20.10.2011 11:00 Dennis2011 ist offline Beiträge von Dennis2011 suchen Nehmen Sie Dennis2011 in Ihre Freundesliste auf
Karlito Karlito ist männlich
Kaiser


Dabei seit: 11.04.2011
Beiträge: 1.461

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hi

ja, würde ich ähnlich beschreiben.

VG,

Karlito
20.10.2011 22:13 Karlito ist offline E-Mail an Karlito senden Beiträge von Karlito suchen Nehmen Sie Karlito in Ihre Freundesliste auf
natty.dread
Grünschnabel


Dabei seit: 26.07.2011
Beiträge: 2

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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
20.10.2011 22:20 natty.dread ist offline Beiträge von natty.dread suchen Nehmen Sie natty.dread in Ihre Freundesliste auf
Dennis2011 Dennis2011 ist männlich
Grünschnabel


Dabei seit: 07.10.2011
Beiträge: 5
Herkunft: Niedersachsen

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Besten Dank!
20.10.2011 22:40 Dennis2011 ist offline Beiträge von Dennis2011 suchen Nehmen Sie Dennis2011 in Ihre Freundesliste auf
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Informatiker Board » Themengebiete » Praktische Informatik » Methodendeklaration (Java)