Einfache Berechnung in java?

2 Antworten

Das kann doch nicht sein...

Doch, Kann es

Was bedeutet übrigens das "++" ??

Dein Fehler liegt genau an dem ++ und dass du die Bedeutung nicht kennst.

i++ inkrementiert den Wert der Variable i um 1, nachdem das Statement ausgeführt wurde.

Beispiel:

i = 1
j = i++

Das ist äquivalent zu:

i = 1
j = i
i += 1

Somit ist jetzt i = 2 und j = 1

Andersrum gibt es auch ++i, das den Wert von i vor der Ausführung des staremenrs um 1 erhöht

i = 1
j = ++i

Das ist äquivalent zu:

i = 1
i += 1
j = i

Somit ist i = 2 und j = 2

In deinem Fall, den Code auseinandergezogen und kommentiert;

int a = 2;
int b = 14;

a *= b++ % 3;
//entspricht a *= b % 3; b += 1;
//entspricht a *= 14 % 3; b += 1;
//entspricht a *= 2; b += 1;
//entspricht a = a * 2; b += 1;
//entspricht a = 2 * 2; b += 1;
// => a = 4, b = 15

b = -b + (a*7);
//entspricht b = -15 + 4*7
//entspricht b = -15 + 28
// => a = 4, b = 13
Woher ich das weiß:Studium / Ausbildung – Abgeschlossenes Studium der Informatik (B.Sc.)

Das ++ erhöht den Wert um 1. Daran liegt es vlt.