Die Verneinung in Java
Das Ausrufezeichen "!" ist der unäre Operator für die Verneinung.
- 〈UnaryExpressionNotPlusMinus 〉 ::=
- "!" 〈UnaryExpression 〉.
Der Operanden-Ausdrucks 〈UnaryExpression 〉 muß den Typ "boolean" haben. Der Ausdruck "!" 〈UnaryExpression 〉 hat dann auch den Typ "boolean".
Bei der Ausführung des Programmes ist der Wert des Ausdrucks "!" 〈UnaryExpression 〉 der Wert "wahr", wenn der Operand 〈UnaryExpression 〉 den Wert "false" hat, und der Wert "false", wenn der Operand den Wert "true" hat.
Verneinung.javapublic class Verneinung
{ public static void main( String[] args )
{ System.out.println( !false ); }}System.outtrue
Verneinung1.javapublic class Verneinung1
{ public static void main( String[] args )
{ System.out.println( !( 2 < 3 ) ); }}System.outfalse
- Äquivalenz-Umformungen
- Geben Sie zu den folgenden Ausdrücke jeweils einen Ausdruck mit gleichem Wert, aber weniger Operatoren an. Das Zeichen »x« und das Zeichen »y« sollen für beliebige Ausdrücke vom Typ »double« stehen. Beispiel: Dem Ausdruck »!( x == y )« ist der einfachere Ausdruck »x != y« gleichwertig.
- !( x != y )
- !( x < y )
- !( x <= y )
- !!( x >= y )
Ausnahmen *
Naheliegenden Äquivalenzen gelten aber in Java angesichts des Verhaltens der Vergleichsoperatoren für den Wert "Double.NaN" nicht immer.
Verneinung2.javapublic class Verneinung2
{ public static void main( String[] args )
{ System.out.println( !( Double.NaN < Double.NaN )); }}System.outtrue
Verneinung3.javapublic class Verneinung3
{ public static void main( String[] args )
{ System.out.println( Double.NaN >= Double.NaN ); }}System.outfalse