Ich frage mich, was macht der -->--
-Operator in Java?- -> - - Operator in Java
Zum Beispiel, wenn ich den folgenden Code haben:
int x = 3;
int y = 3;
if (x -->-- y) {
return true;
}
Dies gibt immer wahr.
Vielen Dank!
Ich frage mich, was macht der -->--
-Operator in Java?- -> - - Operator in Java
Zum Beispiel, wenn ich den folgenden Code haben:
int x = 3;
int y = 3;
if (x -->-- y) {
return true;
}
Dies gibt immer wahr.
Vielen Dank!
In Java ist -->--
kein Operator.
Was Sie geschrieben haben, ist eigentlich if ((x--) > (--y))
.
Und wie wir aus this answer wissen, ist die --y predecrement, während die x-- postdecrement ist, so deshalb, diese im Grunde if (3 > 2)
ist, die immer true
zurückgibt.
Dies ist wahrscheinlich ein sehr schwieriges Hausaufgabenproblem. Sehr interessant! –
Vielen Dank! – MarkusWillson
Positcrement und preicrement sind sehr ähnliche Operatoren. Javas Bytecode gibt ein besseres Verständnis. Jeder von ihnen besteht aus zwei Operationen. Variable laden und inkrementieren. Der einzige Unterschied besteht in der Reihenfolge dieser Operationen. Wenn Aussage von Ihrem Fall wird auf diese Weise zusammengestellt:
4: iload_1 //load x
5: iinc 1, -1 //decrement x
8: iinc 2, -1 //decrement y
11: iload_2 //load y
12: if_icmple 23 //check two values on the stack, if true go to 23rd instruction
Wenn JVM bis zu einer if-Anweisung kommt es 3
und 2
auf dem Stapel hat. Zeile 4 und 5 sind aus x--
zusammengestellt. Linien 8 und 11 von --y
. x
wird vor Inkrement und y
nach geladen.
Übrigens ist es seltsam, dass Javac diesen statischen Ausdruck nicht optimiert.
http://stackoverflow.com/questions/1642028/what-is-the-name-of-the-operator –
Bezogen auf, aber kein Duplikat der Frage http://StackOverflow.com/Questions/1642028/was-ist-der-Name-des-Operators, weil das ein C++ Programm ist. – Raedwald
Ich denke, dass OP vielleicht die Frage bearbeiten möchte, um den Pseudo-Dupel anzuerkennen, und entsprechend die Unterschiede zwischen Java und C++ umschreiben. Wenn es keine Unterschiede gibt, kann die Frage von geringer Qualität sein. Nichts für ungut. –