Ungleichheitsaussagen in Java
Der Operator »!=« (Ungleichheitsaussage)
Für den Operator »!=« gilt alles zuvor schon für den Operator »==« Gesagte, abgesehen davon, daß der Wert einer Anwendung des Operators »!=« die Negation (Verneinung) des Wertes ergibt, den man erhalten würden, wenn man den Operator »!=« in dieser Anwendung durch »==« ersetzen würde.
Der Wert der Negation eines boolean-Ausdrucks »x« ist »( x )== false«. Der Wert von »( x != y )« ist also der Wert von »( x )== ( y )== false«. Während »==« Gleichheit ausdrückt, drückt »!=« also Ungleichheit aus.
Die mathematische Schreibweise dieses Operators ist ‹≠› (ein durchgestrichenes Gleichheitszeichen). Das Ausrufezeichen in »!=« soll vermutlich den senkrechten Strich aus ‹≠› darstellen.
Main.java
public final class Main
{ public static void main( final java.lang.String[] args )
{ java.lang.System.out.println( 2 != 2 );
java.lang.System.out.println( 1 != 2 ); }}java.lang.System.out
false
true
Priorität
Die folgende Tabelle gibt die Assoziativität und Priorität der bisher behandelten Operatoren wieder.
- Priorität und Assoziativität der bisher behandelten Operatoren
() Eingeklammerter Ausdruck
() Aufrufoperator
+ - Unaere vorangestellte Operatoren
L * / Multiplikation, Division
L + - Addition, Subtraktion
L == != Gleichheitspruefung, Ungleichheitspruefung
R = Zuweisung
Ausdrücke ⁺
Die Definition eines Ausdrucks wird um Ausdrücke mit dem neu vorgestellten Operator erweitert.
- Syntaxdiagramm
Ausdruck
.----------.
---.------------>| Literal |------------------------------.---->
| '----------' |
| .----------. |
'------------>| Name |------------------------------'
| '----------' |
| .-. .----------. .-. |
'--->( ( )--->| Ausdruck |--->( ) )---------------------'
| '-' '----------' '-' |
| .----------. |
'------------>| Aufruf |------------------------------'
| '----------' |
| .-. .----------. |
'--->( - )--->| Ausdruck |------------------------------'
| '-' '----------' |
| .-. .----------. |
'--->( + )--->| Ausdruck |------------------------------'
| '-' '----------' |
| .----------. .-. .----------. |
'------------>| Ausdruck |--->( / )---->| Ausdruck |----'
| '----------' '-' '----------' |
| .----------. .-. .----------. |
'------------>| Ausdruck |--->( + )---->| Ausdruck |----'
| '----------' '-' '----------' |
| .----------. .-. .----------. |
'------------>| Ausdruck |--->( - )---->| Ausdruck |----'
| '----------' '-' '----------' |
| .----------. .-. .----------. |
'------------>| Ausdruck |--->( * )---->| Ausdruck |----'
| '----------' '-' '----------' |
| .----------. .--. .----------. |
'------------>| Ausdruck |--->( == )--->| Ausdruck |----'
| '----------' '--' '----------' |
| .----------. .--. .----------. |
'------------>| Ausdruck |--->( != )--->| Ausdruck |----'
| '----------' '--' '----------' |
| .----------. .-. .----------. |
'------------>| Ausdruck |--->( = )---->| Ausdruck |----'
'----------' '-' '----------'
Übungsfragen
? Übungsfrage
Welche Ausgabe erzeugt das folgende Programm?
Main.java
public final class Main
{ public static void main( final java.lang.String[] args )
{ java.lang.System.out.println( 2 != 2 ); }}
? Übungsfrage 1
Welche Ausgabe erzeugt das folgende Programm?
Main.java
public final class Main
{ public static void main( final java.lang.String[] args )
{ java.lang.System.out.println( 3 != 4 ); }}
? Übungsfrage 2
Welche Ausgabe erzeugt das folgende Programm?
Main.java
public final class Main
{public static boolean f( final int i ){ return i != 4; }
public static void main( final java.lang.String[] args )
{ java.lang.System.out.println( f( 3 ));
java.lang.System.out.println( f( 4 )); }}
Übungsaufgaben
/ Ungleichheitsmethode
Schreiben Sie eine möglichst kurze Deklaration einer Methode »notZero(int)«, die genau dann »true« ergibt, wenn sie mit einem anderen Wert als »0« aufgerufen wird. (Die Länge einer Methodendeklaration wird bei dieser Aufgabe durch die Anzahl der lexikalischen Einheiten jener Methodendeklaration bestimmt.)
Wenn die Methode richtig geschrieben wurde, gibt das folgende Programm immer nur »true« aus.
Main.java
public final class Main
{public static boolean notZero( final int i ){ return __________; }
public static void main( final java.lang.String[] args )
{ java.lang.System.out.println( notZero( 0 )== false );
java.lang.System.out.println( notZero( 1 )== true );
java.lang.System.out.println( notZero( -1 )== true );
java.lang.System.out.println( notZero( 2 )== true );
java.lang.System.out.println( notZero( -2 )== true );
java.lang.System.out.println( notZero( 20 )== true );
java.lang.System.out.println( notZero( -20 )== true ); }}Protokoll
true
true
true
true
true
true
true