Frage von PolinGirl, 43

Was bedeuten diese Java-Kürzel?

Undzwar seh ich immer wieder in Beispiel Java-Programmen folgende ich nenne sie mal Kürzel faku *= i oder add += i was bedeutet das ausgeschrieben

Antwort
von procoder42, 30

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
von PerfectMuffin, 8

Ergänzung für alle Antworten:

i = i+1 ist NICHT das gleiche, wie i += 1.

Das eine ist eine Zuweisung, das andere ein Inkrement, es läuft auf das Gleiche hinaus, aber += wird effizienter compiliert.

i++ ist aber das Gleiche wie i+=1

Expertenantwort
von TeeTier, Community-Experte für programmieren, 5

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. :)

Kommentar von TeeTier ,

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. ><

Keine passende Antwort gefunden?

Fragen Sie die Community