# Java Ausdruckergebnisse angeben?



## necoicould (7. Mai 2011)

Kann mir jemand bei folgender Aufgabe behilflich sein? 
Man soll diese Ausdrücke auswerten. Die Zeilen sollen (laut Mentor) abhängig zu einander sein.

*int a = 6
int b = 3
int c = 7
double d = 5.0
double e = 2.0

1. a++ - ++b * (c - a)
2. c & a - b
3. a – b++ + b
4. a * b / ++c
5. 4 + 2 << 3
6. 6 >> 2
7. 2 << 2 << 2
8. 2 << (2 << 2)
9. d/e

Lösung:
1. Reihenfolge: a++, ++b, (c-a), *, - Ergebnis: 6 Typ: int
2. Reihenfolge: -, & Ergebnis: 3 Typ: int
3. Reihenfolge: b++, -, + Ergebnis: 8 Typ: int
4. Reihenfolge: ++c, *, / Ergebnis: 4 Typ: int
5. Reihenfolge: +, << Ergebnis: 48 Typ: int
6. Reihenfolge: 6 >> 2 Ergebnis: 1 Typ: int
7. Reihenfolge: linkes <<, rechtes << Ergebnis: 32 Typ: int
8. Reihenfolge: (2<<2), linkes << Ergebnis: 512 Typ: int
9. Reihenfolge: / Ergebnis: 2.5 Typ: double

*

1. verstehe ich, da kommt 6 raus... 
Was ich nun nicht so ganz verstehe ich, a ist ja nun 7 (durch das a++) und das b ist 4 (durch das ++b)

bei der folgeaufgabe der 2.

2. c & a - b

Werden diese Werte a und b erneut um eins erhöht? Wenn die Teilaufgaben nicht von einander abhängig wären, wäre das einfach, jedoch soll es laut Mentor halt net so sein, dass man die vorherigen a,b,c werte noch betrachten muss...

Die angegebene Lösung vom Mentor geht nur auf, wenn ich a bei 7 belasse und b jedes mal um eins erhöhe.. aber warum ist das so? könnt ihr mir helfen?


----------



## eRaaaa (7. Mai 2011)

Also so ganz verstehe ich jetzt dein Problem nicht. Abhängig heißt eben dass 2. von 1. abhängig ist, also du die Werte von a und b aus 1. betrachten musst in 2., nicht die Anfangswerte!

Wie du schon richtig erkannt hast, sind a=7 und b = 4 
7-4 = 3
c = 7

7&3 = 3 -->

111
&
011
-----
011 = 3

???:L


----------



## XHelp (7. Mai 2011)

Nein, die Werte werden nicht einfach so um eins erhöht. Wenn durch einen Ausdruck sich die Werte verändern, dann bleiben die auch verändert für die nächste Rechnung.
Ansonsten weiß ich nicht so ganz, was du eigentlich fragen willst.


----------



## necoicould (7. Mai 2011)

hmmm ok jetzt habs ichs verstanden^^ danke ich dachte, dass die werte wenn z.b dort a++ steht, dass jedes a in jeder zeile um eins verändert wird... was aber nicht ist.

vielen dank


----------

