Di Jawa, apa perbedaan teknis antara ekspresi "++ x" dan "x = x +1"?


Jawaban 1:

Teman yang terkasih, silakan beri tahu guru Anda bahwa mereka biasa menjawab pertanyaan semacam ini sendiri, oleh karena itu mereka profesional.

Bagaimanapun mari kita datang ke pertanyaan:

Katakanlah x = 9. Sekarang jika kita menggunakan ++ x dalam salah satu ekspresi, ini berarti pertama nilai x bertambah dan kemudian digunakan yaitu, di mana pun Anda menggunakan ++ x nilai 10 bukannya 9 akan digunakan dan nilai akan tetap 10 hingga perubahan lain terjadi.

Sekarang jika kita menggunakan (x = x + 1 atau x + = 1 atau x ++) nilainya pertama kali digunakan dan kemudian ditingkatkan. Ekspresi di mana x = x + 1 digunakan untuk yang pertama akan menggunakan nilai 9 dan kemudian nilai 10 akan disimpan dalam x sampai perubahan lain terjadi.

Saya pikir perbedaannya jelas. Jika tidak, tinggalkan komentar.


Jawaban 2:
class quora {public static void main (String [] args) {int x = 5; x = x + 1; System.out.println (x); x ++; System.out.println (x); }}
Dikompilasi dari "quora.java" class quora {quora (); Kode: 0: aload_0 1: invokespecial # 1 // Metode java / lang / Object. " ":() V 4: mengembalikan void main public static (java.lang.String []); Kode: 0: iconst_5 1: istore_1 2: iload_1 3: iconst_1 4: iadd // x = x + 1 5: istore_1 6 : getstatic # 2 // Field java / lang / System.out: Ljava / io / PrintStream; 9: iload_1 10: invokevirtual # 3 // Metode java / io / PrintStream.println: (I) V 13: iinc 1, 1 // x ++ 16: getstatic # 2 // Field java / lang / System.out: Ljava / io / PrintStream; 19: iload_1 20: invokevirtual # 3 // Metode java / io / PrintStream.println: (I) V 23: kembali}