Was ist in Java der technische Unterschied zwischen den Ausdrücken "++ x" und "x = x + 1"?


Antwort 1:

Lieber Freund, bitte sagen Sie Ihrem Lehrer, dass er diese Art von Fragen selbst beantwortet hat, deshalb sind sie Profis.

Wie auch immer, kommen wir zu der Frage:

Sagen wir x = 9. Wenn wir nun ++ x in einem der Ausdrücke verwenden, bedeutet dies, dass zuerst der Wert von x inkrementiert und dann verwendet wird, dh wo immer Sie ++ x verwenden, wird der Wert 10 anstelle von 9 verwendet und Der Wert bleibt 10, bis eine weitere Änderung auftritt.

Wenn wir nun (x = x + 1 oder x + = 1 oder x ++) verwenden, wird der Wert zuerst verwendet und dann inkrementiert. Der Ausdruck, bei dem x = x + 1 für den ersten verwendet wird, verwendet den Wert 9, und dann wird der Wert 10 in x gespeichert, bis eine weitere Änderung auftritt.

Ich denke, der Unterschied ist klar. Wenn nicht, hinterlasse einen Kommentar.


Antwort 2:
class quora {public statisch void main (String [] args) {int x = 5; x = x + 1; System.out.println (x); x ++; System.out.println (x); }}
Kompiliert aus der Klasse "quora.java" quora {quora (); Code: 0: aload_0 1: ruft spezielle # 1 // Methode java / lang / Object auf. " ":() V 4: return public static void main (java.lang.String []); Code: 0: iconst_5 1: istore_1 2: iload_1 3: iconst_1 4: iadd // x = x + 1 5: istore_1 6 : getstatic # 2 // Feld java / lang / System.out: Ljava / io / PrintStream; 9: iload_1 10: invokevirtual # 3 // Methode java / io / PrintStream.println: (I) V 13: iinc 1, 1 // x ++ 16: getstatic # 2 // Feld java / lang / System.out: Ljava / io / PrintStream; 19: iload_1 20: invokevirtual # 3 // Methode java / io / PrintStream.println: (I) V 23: Rückkehr}