Nein. In diesem fehlerhaften Fragment, wird das NOT (das !) direkt auf preis
angewandt.
Der NOT-Operator besitzt eine hohe Präzedenz. Daher wird er zuerst durchgeführt (vor arithmetischen und relationalen Operatoren), es sei denn wir verwenden Klammern. Betrachten wir das Folgende:
!preis < 50
-----
illegal: kann nicht fuer eine arithmetische Variable verwendet werden
Da ! eine hohe Präzedenz besitzt, wird das oben stehende NOT auf preis
angewendet. Das wird nicht funktionieren, da preis
ein Integer ist und NOT sich nur auf Boole'sche Werte anwenden lässt.
Betrachten wir dieses Fragment:
if ( preis < 50 ) System.out.println("akzeptable Schuhe"); else System.out.println("Schuhe ablehnen");
Ist das neue Fragment äquivalent zum ursprünglichen Fragment:
if ( !(preis < 50) )
System.out.println("Schuhe ablehnen");
else
System.out.println("akzeptable Schuhe");
Versuchen Sie ein paar Preise für jedes Fragment, um zu sehen, ob sie äquivalent sind.