Java: Funktionen
Funktionen dienen dazu, das Programm übersichtlich zu gestalten. Sie bezeichnen Anweisungsblöcke, die unter dem Funktionsnamen aufgerufen werden können. An Funktionen können Argumente übergeben werden und Funktionen können einen Ergebniswert zurückgeben.do
{
LaufeZu (Autos);
for (AutoGenommen = 0; AutoGenommen < 3; AutosGenommen++)
NimmAuto;
LaufeZu (Schachteln);
SuchePassendeSchachtel;
PackeAutosInSchachtel;
} while (AutosSindNochNichtVerpackt);
do
und die geschweiften Klammern) ist hier der Name eines Unterprogramms. Er steht stellvertretend für eine oder mehrere Anweisungen. Welche das sind, muss an anderer Stelle "definiert" sein, z.B:
void PackeAutosInSchachtel ()
{
OeffneSchachtel;
for (AutoEingepackt = 0; AutoEingepackt < 3; AutoEingepackt++)
SchiebeAutoInSchachtel;
SchliesseSchachtel;
}
OeffneSchachtel
wiederum ein Unterprogramm, das so definiert sein könnte:
void OeffneSchachtel ()
{
GreifeDeckel;
BewegeHandNach("Oben");
LassDeckelLos;
}
x = Multipliziere (2, 3); // Das ist ein Funktionsaufruf.
Die Funktion dazu ist an anderer Stelle definiert und könnte so aussehen:public int Multipliziere (int wert1, int wert2)
{
x = wert1 * wert2;
return x;
}
return
zurückgegeben. An die Funktion werden hier 2 Werte übergeben, sie heissen Argumente oder Parameter. Wenn man andere Parameter übergibt, erhält man einen anderen Rückgabewert:
x = Multipliziere (5, 4); // x erhält den Wert 20
Rückgabewerte
Rückgabewerte von Funktionen unterliegen grundsätzlich den gleichen Konventionen wie Variablen. Nun gibt es allerdings Methoden, die keinen Rückgabewert haben sollen. Für sie hat Java aus C++ die Bezeichnungvoid
übernommen. Wir haben sie schon in verschiedenen Beispielen gesehen:
public void main(...)
Vorsicht beim Mischen von verschiedenen Datentypen. Wenn man in einer Anweisung verschiedene Datentypen (als Variablen, Werte oder Rückgabewerte von Funktionen) miteinander vermischt, versucht Java , sie zu einem Ergebnis-Datentyp umzuwandeln, zu vereinheitlichen. Diesen Vorgang nennt man in Java das "Casten". Java hält sich dabei an bestimmte Regeln. Wer sie nicht beachtet, kann böse Überraschungen erleben, was aus seinen Werten wird. Der Typ des Rückgabewerts wird dabei bei der Funktionsdeklaration vor den Namen notiert (hierint
) - gleiches gilt für Parameter/Argumente. Manche Funktionen geben keinen Wert zurück, und an manche Funktionen werden auch keine Werte übergeben: OeffneSchachtel
ist z.B. eine Prozedur - eine Methode, die ausgeführt wird, ohne Werte zurückzugeben.In unserem Roboter-Beispielprogramm lassen sich viele Methoden vorstellen, an die Argumente übergeben werden. Je nach den Argumenten tun die Methoden dann etwas unteschiedliches:
BewegeHandNach("Oben");
BewegeHandNach("Unten");
LaufeZu ("Autos");
LaufeZu ("Schachteln");
Du arbeitest in einer Agentur oder als Freelancer?
Dann wirf doch mal einen Blick auf unsere Software FeatValue.
Weiterlesen: ⯈ Abfragen / Verzweigungen
Über uns
Wir entwickeln Webanwendungen mit viel Leidenschaft. Unser Wissen geben wir dabei gerne weiter. Mehr über a coding project