Heim >Java >javaLernprogramm >Java-Präfix vs. Postfix-Inkrement/Dekrement: Warum ergibt „i' in diesem Beispiel 7?

Java-Präfix vs. Postfix-Inkrement/Dekrement: Warum ergibt „i' in diesem Beispiel 7?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-17 02:41:24283Durchsuche

Java Prefix vs. Postfix Increment/Decrement: Why Does `i  ` Result in 7 in This Example?

Präfix- und Postfix-Inkrementierungs-/Dekrementierungsoperatoren in Java

Das Verständnis des Unterschieds zwischen Präfix- und Postfix-Inkrementierungs-/Dekrementierungsoperatoren ist bei der Java-Programmierung von entscheidender Bedeutung. In diesem Artikel werden die Auswirkungen dieser Operatoren anhand eines praktischen Beispiels untersucht.

Frage:

Bedenken Sie den folgenden Codeausschnitt:

int i = 3;
i++; // Postfix increment

System.out.println(i);    // Prints "4"

++i; // Prefix increment
System.out.println(i);    // Prints "5"
System.out.println(++i);  // Prints "6"
System.out.println(i++);  // Prints "6"
System.out.println(i);    // Prints "7"

Warum? Der letzte Aufruf von System.out.println(i) gibt den Wert aus 7?

Antwort:

Das Verhalten dieses Codes wird durch die Semantik der Präfix- und Postfix-Inkrementoperatoren bestimmt:

  • Präfix-Inkrement ( ): Erhöht den Operanden, bevor er in einem verwendet wird Ausdruck.
  • Postfix-Inkrement ( ): Erhöht den Operanden, nachdem er in einem Ausdruck verwendet wurde.

Präfix-Inkrement:

int i = 6;
System.out.println(++i); // Prints "6"

i ergibt 7, da i erhöht wird, bevor der Wert im Ausdruck verwendet wird. Also gibt es „6“ aus und erhöht i auf 7.

Postfix-Inkrement:

int i = 6;
System.out.println(i++); // Prints "6" (i = 7, prints 6)

i ergibt 6, da es eine Kopie von i speichert, fügt hinzu 1 zu i und gibt den ursprünglichen Wert zurück. Der Ausdruck gibt „6“ aus, aber i ist jetzt 7.

Im letzten Aufruf gibt System.out.println(i) den aktuellen Wert von i aus, der 7 ist. Dies liegt am Postfix-Inkrementoperator hatte es zuvor auf 7 aktualisiert.

Das obige ist der detaillierte Inhalt vonJava-Präfix vs. Postfix-Inkrement/Dekrement: Warum ergibt „i' in diesem Beispiel 7?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn