Java Reference
In-Depth Information
Dabei gilt für die Nutzung von return-Anweisungen folgende Einschränkung:
• return-Anweisungen ohne Ausdruck sind Anweisungen, deren Aufruf nur innerhalb von Pro-
zeduren erlaubt ist.
• return-Anweisungen mit einem booleschen Ausdruck dürfen nur in booleschen Funktionen
benutzt werden.
• return-Anweisungen mit einem arithmetischen Ausdruck dürfen nur in int-Funktionen einge-
setzt werden.
• Allgemein: Return-Anweisungen mit einem Ausdruck vom Typ T dürfen nur in Funktionen
vom Funktionstyp T eingesetzt werden.
Die return-Anweisung ist eine spezielle Anweisung. Aus diesem Grund wird in Abbildung 15.4 das
Syntaxdiagramm „Anweisung“ aus Abbildung 15.1 erweitert bzw. korrigiert.
15.4.2 Funktionsdefinition
Die Syntax der verallgemeinerten Funktionsdefinition wird in Abbildung 15.5 dargestellt. Anhand
des angegebenen Typs ( void , boolean , int , ...) wird der sogenannte Funktionstyp festgelegt. Dabei
gelten folgende zusätzliche Bedingungen:
• Ist der Typ der Funktion void , d.h. handelt es sich bei der Funktion um eine Prozedur, so
dürfen im Funktionsrumpf nur return-Anweisungen ohne Ausdruck auftreten.
• Ist der Typ der Funktion ungleich void , so müssen alle return-Anweisungen, die im Funk-
tionsrumpf vorkommen, Werte liefern, die mit dem Funktionstyp konform sind (boolescher
Ausdruck und Typ boolean , arithmetischer Ausdruck und Typ int , ...).
• In jedem möglichen Weg durch eine Funktion mit einem Funktionstyp ungleich void muss
eine Funktionstyp konforme return-Anweisung auftreten.
Funktions-
definition (1)
Funktions-
name
Funktio ns-
rumpf
erweiterter
Typ
(
)
erweiterter Datentyp
Datentyp
void
Abbildung 15.5: Syntaxdiagramm: Funktionsdefinition
Wird bei der Funktionsabarbeitung eine return-Anweisung ausgeführt, dann wird der Funktions-
rumpf unmittelbar verlassen und gegebenenfalls als Funktionswert der Wert geliefert, den die Be-
rechnung des Ausdrucks der return-Anweisung ergibt.
Der Gültigkeitsbereich von Funktionen erstreckt sich über ein gesamtes Programm. Insbesondere
dürfen Funktionen auch schon vor ihrer Definition aufgerufen werden. Es ist auch erlaubt, innerhalb
Search WWH ::




Custom Search