Was bedeuten diese Java-Kürzel?

... komplette Frage anzeigen

2 Antworten

Nur um dich zu verwirren, es gibt noch mehr:

Das kennst du ja schon ...

boolean a = false;
boolean b = true;

if (a != b) {
System.out.println("if-Zweig");
} else {
System.out.println("else-Zweig");
}

int x = 23;
int y = 42;

y -= x;

System.out.println(y);

... und dann gibt es noch so etwas:

boolean a = false;
boolean b = true;

if (a =! b) {
System.out.println("if-Zweig");
} else {
System.out.println("else-Zweig");
}

int x = 23;
int y = 42;

y =- x;

System.out.println(y);

Bitte vergleiche die subtilen Unterschiede an den fett-hervorgehobenen Stellen!

Ersteres liefert die Ausgabe:

if-Zweig
19

Und Letzteres gibt so etwas aus:

else-Zweig
-23

Aber lass dich nicht irritieren, denn "=-" und "=!" sind im Gegensatz zu "-=" und "!=" keine echten Operatoren.

Gemein, ich weiß. Aber eine lustige Spielerei und sehr nützlich, wenn man verhindern will, dass andere den eigenen Code auf Anhieb verstehen können.

So etwas sollte man sich aber als Anfänger nicht angewöhnen ... und als Fortgeschrittener erst recht nicht. :)

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von TeeTier
19.02.2016, 05:16

PS: Unter C sind noch schönere Operatoren möglich! Habe z. B. gerade den Gleitpunkt-Ausnahmen-Operator erfunden:

x /=!-!!* y;

Das kompiliert wunderbar, ist auch korrektes C, und wirft zur Laufzeit die gewünschte Ausnahme. Wie man sieht, sehr sinnvoll und vielseitig einsetzbar. :)

Das könnte man dann wohl DSO nennen ... "Domain Specific Operator". hahaha ... Oh man, ich hab wieder zu viel Kaffee getrunken. ><

0

Am besten läst sich das an einem Beispiel zeigen :

Ergebnis += 3

Ergebnis = Ergebnis + 3

Beides drückt das selbe aus, das ist nur eine Abkürzung

Antwort bewerten Vielen Dank für Deine Bewertung

Was möchtest Du wissen?