Rangfolge von Operatoren

Status
Nicht offen für weitere Antworten.

Wusaa

Aktives Mitglied
Hallo,
Kann mir jemand sagen warum folgendes Programm das hier:

Ausgabe: (i/j/k) = (6/12/7) ausgibt?

Code:
public class B15a
{
   public static void main(String args[]) {
      int i, j, k;

      i = 5; k = 8;
      j = i+++--k;
      System.out.printf("(i/j/k) = (%d/%d/%d)\n", i, j, k);

   }
}

MfG
 

20mithrandir

Aktives Mitglied
Erst wird der Dekrement-Operator aufgelöst (weil Präfix):

k = 7

Dann wird erfolgt die Addition:

j = 5 + 7 = 12

Dann erfolgt erst die Behandlung des Inkrement-Operators (weil Suffix):

i = 6

Passt also...
 

der JoJo

Bekanntes Mitglied
der ++ (als postfix operator) hat eine niedrigere Priorität als +, weshalb die operation i+1 erst nach der addition mit --k ausgefürt wird. -- als präfix operator dagegen wird vor der addition ausgefürt

hoffe das geht zu verstehen
 
M

maki

Gast
Klar:
Code:
      i = 5; k = 8;
      j = i+++--k;
i++ = gib den Wert von i zurück, dann zähle i um eins hoch, postinkrement eben
--k= verringere k um eins und dann gib diesen Wert zurück, predekrement eben

j= 5 + 7 = 12
i=6
k=7
 

Der Müde Joe

Top Contributor
i = 5
i++ = 6

k= 8
--k = 7

i++(+) --k = 12

i++ nach rechnung auswerten
--k vor rechnung auswerten

dh 5 + 7 = 12
 

Wusaa

Aktives Mitglied
Ah ok. Vielen Dank.

Könnte man es also auch so sehen, also mit denn leerzeichen?

Code:
j = i++  +  --k;
 
M

maki

Gast
Code:
boah...
hehehe... so sollte man natürlich keinen Code schreiben, besonders wenn der Kollege, der diesen Weiterbearbeiten muss, in deiner Nähe sitzt...
 

Wusaa

Aktives Mitglied
Is mir schon bewusst.
Aber ich entnehme mal deiner antwort das es geht ;-)
ging mir ja nur ums verständnis...
 

@x.l

Bekanntes Mitglied
Ja es geht, man könnte es auch so schreiben:

Code:
k--;
j = i+k;
i++;
 

Wusaa

Aktives Mitglied
ich hätte da noch ne frage zu java operatoren.

wie kann man eigentlich die rangfolge von den operatoren ändern?
 
M

maki

Gast
Man kann Klammern setzen, bringt aber nicht viel bei pre/post inkrement/dekrement.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Den Benutzer eine Rangfolge festlegen lassen Java Basics - Anfänger-Themen 5
B Spielereien mit bit wise Operatoren und langen Binärzahlen Java Basics - Anfänger-Themen 3
K Für was braucht man die left und right shift operatoren? Was bringen die, also welchen Zweck haben die? Java Basics - Anfänger-Themen 15
Kleinerals2 NaN Operatoren Java Basics - Anfänger-Themen 3
S Und-Abfrage mit mehreren Ungleich-Operatoren Java Basics - Anfänger-Themen 17
P Datentypen, Klassen, Operatoren, Wrapperklassen Java Basics - Anfänger-Themen 2
D Erste Schritte Operatoren zur Manipulation von Bits "~" Java Basics - Anfänger-Themen 5
M Operatoren Umwandlung div. Operatoren Java Basics - Anfänger-Themen 7
V Operatoren Was will mir die Tabelle in meinem Lehrbuch sagen? (logische Operatoren) Java Basics - Anfänger-Themen 4
S Bitweise Operatoren" >>>",">>","<<" erklärung Java Basics - Anfänger-Themen 5
G operatoren Java Basics - Anfänger-Themen 3
beatles Operatoren Operatoren - Berechnung Java Basics - Anfänger-Themen 40
T Verständnisfrage Zuweisungs-/arithmet. Operatoren Java Basics - Anfänger-Themen 2
X Shift-Operatoren Java Basics - Anfänger-Themen 1
P Bitweise Operatoren Java Basics - Anfänger-Themen 2
Phillip Bitweise Operatoren Java Basics - Anfänger-Themen 11
C Operatoren Java Basics - Anfänger-Themen 6
P Taschenrechner, operatoren Java Basics - Anfänger-Themen 4
M Einfache und Doppelte Operatoren Java Basics - Anfänger-Themen 3
S Operatoren & Terminierung Java Basics - Anfänger-Themen 1
A Bitweise Operatoren Java Basics - Anfänger-Themen 1
O Priorität bei Operatoren Java Basics - Anfänger-Themen 4
N Potenzierung durch einfache Operatoren Java Basics - Anfänger-Themen 13
B Geschwindigkeitsabhängigkeit von Anz. d. Operatoren pro Zeile Java Basics - Anfänger-Themen 12
M hexadezimal in binär mit Hilfe von Shift-Operatoren Java Basics - Anfänger-Themen 6
S Arithmetische Operatoren Java Basics - Anfänger-Themen 7
L Erste Schritte Fragen zu Arrays, Inkrement Operatoren, Dekrement Operatoren ? Java Basics - Anfänger-Themen 9
lulas[]args Fehler - Logische Operatoren Java Basics - Anfänger-Themen 9
H Nur Zahlen, Klammern und Operatoren Java Basics - Anfänger-Themen 3
D Frage zu Bit Operatoren in der Programmierung Java Basics - Anfänger-Themen 9
P Anzahl der else if Operatoren begrenzt?? Java Basics - Anfänger-Themen 7
L [Logische Operatoren] referenzierbar? Java Basics - Anfänger-Themen 3
W Was tun die Operatoren ? und : (Bedingungen) Java Basics - Anfänger-Themen 15
W Datentypen Operatoren für eigenen Datentyp nutzen Java Basics - Anfänger-Themen 2
G Logische und Bitweise Operatoren Java Basics - Anfänger-Themen 2
S Datentypen Operatoren und Ausdrücke (formel richtig rechnen) Java Basics - Anfänger-Themen 8
E Logische Operatoren && und & Java Basics - Anfänger-Themen 14
? Operatoren && || Java Basics - Anfänger-Themen 10
M Aufgabe Arithmetische Operatoren Java Basics - Anfänger-Themen 12
H While Schleife mit Operatoren Java Basics - Anfänger-Themen 14
T Rechnen mit Operatoren Java Basics - Anfänger-Themen 2
M Arithmetische Operatoren Java Basics - Anfänger-Themen 40
V Sonderzeichen als eigene "Operatoren" im JTextField Java Basics - Anfänger-Themen 4
M Sind ternäre Operatoren für einen guten Programmierstil wichtig ? Java Basics - Anfänger-Themen 10
E IF Anweisung mit logischen Operatoren Java Basics - Anfänger-Themen 18
JStickman Was bringen Bit-Operatoren? Java Basics - Anfänger-Themen 14
J Matheaufgabe aus String mit mehreren Operatoren Java Basics - Anfänger-Themen 16
D Logische Operatoren Java Basics - Anfänger-Themen 6
D Grundlagen - Operatoren Java Basics - Anfänger-Themen 5
1 Datentypen Rückgabetyp von Java-Operatoren Java Basics - Anfänger-Themen 2
V Bitweise Operatoren in der Grafikprogrammierung Java Basics - Anfänger-Themen 2
SebSnake Operatoren für eigene Datentypen Java Basics - Anfänger-Themen 3
M logische operatoren Java Basics - Anfänger-Themen 2
C Variablen für Operatoren Java Basics - Anfänger-Themen 3
N zahlen und operatoren gemischt in einem Feld Java Basics - Anfänger-Themen 9
T Logische Operatoren Java Basics - Anfänger-Themen 39
C Dynamische Operatoren! Java Basics - Anfänger-Themen 5
G Shift Operatoren Java Basics - Anfänger-Themen 4
R Bedingte Opeatoren / Verschachtelte Operatoren Java Basics - Anfänger-Themen 4
7 Operatoren in der While Schleife Java Basics - Anfänger-Themen 5
H Postfix Operatoren Java Basics - Anfänger-Themen 2
S Variablen + Operatoren "mixen" Java Basics - Anfänger-Themen 5
F Experimente mit Bit-Operatoren Java Basics - Anfänger-Themen 7
G Nutzen von bitweisen Operatoren Java Basics - Anfänger-Themen 8
J Operatoren in Java Java Basics - Anfänger-Themen 2
S Verwendung bitweiser Operatoren Java Basics - Anfänger-Themen 6
R Binäre logische Operatoren Java Basics - Anfänger-Themen 21

Ähnliche Java Themen

Neue Themen


Oben