Java Reference
In-Depth Information
16.2.4.1 Prozedur
drehDich
Zunächst soll das erste Beispiel aus Abschnitt 16.1 durch Verwendung des Parameterkonzeptes rea-
lisiert werden: Der Hamster soll sich „grad“-mal drehen, wobei „grad“ ein Parameter ist.
void drehDich(int grad) {
int anzahlDrehungen = grad / 90;
while (anzahlDrehungen > 0) {
linksUm();
anzahlDrehungen--;
}
}
void main() {
int links = 90;
int kehrt = 180;
drehDich(links);
drehDich(kehrt);
drehDich(links + kehrt);
}
In dem Beispiel besitzt die Prozedur
drehDich
einen formalen Parameter mit dem Namen
grad
und dem Typ
int
. Dieser Parameter - genauer der Wert dieses Parameters - wird innerhalb der
Prozedur genutzt, um die Anzahl an Drehungen zu berechnen, die der Hamster durchführen soll.
Der (initiale) Wert des Parameters wird nun jedoch nicht bereits bei der Definition der Prozedur
festgelegt, vielmehr wird er der Prozedur jedes Mal bei ihrem Aufruf übergeben.
Innerhalb der main-Prozedur befinden sich drei Aufrufe der Prozedur
drehDich
. Beim ersten Aufruf
wird der Prozedur als aktueller Parameter der Wert des Ausdrucks
links
übergeben, wobei
links
eine Variable vom Typ
int
ist. Alle Nebenbedingungen des Prozeduraufrufs (Anzahl formaler Pa-
rameter gleich Anzahl aktueller Parameter und die Typkonformität der einzelnen Parameter) sind
erfüllt. Die Variable
links
enthält zum Zeitpunkt des Prozeduraufrufs den Wert 90. Folglich wird
der Prozedur als aktueller Parameter der Wert 90 übergeben, d.h. bei diesem Prozeduraufruf wird
die Parametervariable
grad
mit dem Wert 90 initialisiert. Der Initialisierungsausdruck für die lokale
Variable
anzahlDrehungen
ergibt also den Wert 1 (90 / 90), der Hamster dreht sich genau einmal
nach links.
Beim zweiten Aufruf der Prozedur
drehDich
innerhalb der main-Prozedur wird als aktueller Pa-
rameter der Wert der Variablen
kehrt
übergeben. Dieser beträgt zum Zeitpunkt des Prozedurauf-
rufs 180. In diesem Fall wird also die Parametervariable
grad
der Prozedur
drehDich
mit dem
Wert 180 initialisiert, sodass die Berechnung des Initialisierungsausdrucks der lokalen Variablen
anzahlDrehungen
den Wert 2 (180/90) ergibt.
Beim dritten Aufruf der Prozedur
drehDich
wird der aktuelle Parameter durch den Ausdruck
links
+ kehrt
berechnet; dieser liefert zu diesem Zeitpunkt den Wert 270 (90 + 180). Folglich wird die
Parametervariable
grad
der Prozedur mit dem Wert 270 initialisiert, was wiederum zur Folge hat,
dass die lokale Variable
anzahlDrehungen
mit dem Wert 3 (270/90) initialisiert wird.
Search WWH ::
Custom Search