Java Reference
In-Depth Information
berechnet werden. Dazu ist ein Aufruf der Funktion summe erforderlich. Aber auch hier ist die Be-
rechnung des aktuellen Parameters nicht einfach, es muss die Funktion fakultaet aufgerufen wer-
den. Deren aktueller Parameter ergibt sich auch wieder durch die Berechnung eines Funktionswert,
nämlich durch den Aufruf der Funktion fakultaet mit dem Wert 3 . Die Reihenfolge der Aus-
wertung sieht also folgendermaßen aus: Zunächst wird die Funktion fakultaet mit dem aktuellen
Parameterwert 3 aufgerufen. Die Funktion liefert den Wert 6 zurück. Mit diesem Wert wird die
Funktion fakultaet ein weiteres Mal aufgerufen; sie liefert dieses Mal den Wert 720 . Dieser Wert
wird der Prozedur summe übergeben. Sie liefert den Wert 519120 . Schließlich wird also die Prozedur
felderVor mit dem Wert 519120 aufgerufen.
16.2.6 Auswertungsreihenfolge der aktuellen Parameterliste
Besitzt eine Funktion mehrere Parameter, so werden bei ihrem Aufruf die Ausdrücke in der aktuellen
Parameterliste immer von links nach rechts ausgewertet. Das folgende Beispiel demonstriert diesen
Sachverhalt:
1 int summe(int p1, int p2, int p3) {
2
return p1 + p2 + p3;
3 }
4
5 void main() {
6
int n = 3;
ints=summe(n,n=n+1,n);
7
while ((s > 0) && kornDa()) {
8
nimm();
9
s--;
10
}
11
12 }
In Zeile 7 wird die Funktion summe aufgerufen, die die Summe ihrer drei Parameter als Funktions-
wert liefert. Die aktuelle Parameterliste beim Funktionsaufruf besteht aus den drei Ausdrücken n ,
n
1 und n in dieser Reihenfolge. Da die Auswertung der Parameterausdrücke von links nach
rechts erfolgt, wird zuerst der linke Ausdruck n berechnet. Dieser liefert den Wert 3 , da in der An-
weisung zuvor die Variable n mit demWert 3 initialisiert worden ist. Als nächstes wird der Ausdruck
n
=
n
+
1) zu und liefert dann
diesen Wert 4 , nämlich den aktuellen Wert der Variablen n . Als dritter Ausdruck wird zum Schluss
der rechte Ausdruck n berechnet, der nun aber nicht mehr den Wert 3 liefert, wie der erste Ausdruck
n , sondern den Wert 4 , da zwischenzeitlich ja bei der Auswertung des zweiten Parameters der Varia-
blenwert verändert wurde. Insgesamt wird die Funktion summe also mit den drei Werten 3 , 4 und 4
in dieser Reihenfolge aufgerufen.
=
n
+
1 berechnet. Dieser weist zunächst der Variablen n den Wert 4 (3
+
16.3 Überladen von Funktionen
In diesem Abschnitt wird der Aspekt der Eindeutigkeit von Funktionsnamen ein wenig aufgeweicht.
Wir hatten ja in Kapitel 8.2 bzw. 15.4 gelernt, dass in einem Programm nicht zwei gleichnamige
Funktionen definiert werden dürfen.
Search WWH ::




Custom Search