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