Twitter und Facebook-Anbindung
X
Tweet Follow @twitterapi
!!! Anbindung an twitter und facebook öffnen !!!

Wenn Ihnen mein Online-Buch gefällt,
dann bedanken Sie sich doch mit einer kleinen Spende...

3.2 Der ? Operator

3.2 Der ? Operator

Mit dem "?" Operator kann man eine komplette if Anweisung in eine Zeile schreiben, vorausgesetzt, man will einer Variablen nur den einen oder anderen Wert zuweisen. Dieses Konstrukt lässt sich auch ineinander verschachteln. Allerdings rate ich Ihnen, zunächst die Finger von solchen Geschichten zu lassen, da man so richtig fiese Ausdrücke bauen kann, die alles andere als trivial sind. Der Vollständigkeit halber möchte ich Ihnen dieses Werkzeug aber nicht vorenthalten, da es, gerade von Profis, sehr häufig eingesetzt wird.

Das Schema sieht so aus: <Bedingungen> ? <Ausdruck> [: <Ausdruck>]

Möchte man z.B. verhindern, dass eine Variable keinen negativen Wert hat. So könnte der Quelltext wie folgt aussehen.

 1
 2
 3
					
int	iWert		= 15;
// Folgende Zeile sorgt dafür, dass iPositiv mindestens 0 ist
int	iPositiv	= (iWert >= 0)? iWert : 0;
					

Wenn man jetzt verhindern möchte, dass der Wert negativ und nicht größer als z.B. 100 ist, so sähe der Quelltext, mit verschachteltem "?" Operator, wie folgt aus.

 1
 2
 3
					
int	iWert		= 15;
// Folgende Zeile sorgt dafür, dass iPositiv immer mindestens 0 und maximal 100 ist
int	iPositiv	= (iWert < 0)? 0 : (iWert > 100)? 100 : iWert;
					

Spätestens dieser Quelltext sollte Ihnen Respekt vor diesem Operator verschaffen.

Aber der eigentliche Zweck dieses Operators ist, dass man bedingte Berechnungen bauen kann, was mit einer if Anweisung so nicht möglich ist (in Excel oder Calc darf man das). Man benutzt den Operator also nicht um Platz zu sparen.

Zum Seitenanfang
Zum Inhaltsverzeichnis

© Copyright by Thomas Weiß, 2009 - 2012