تفاوت فنی بین عبارات "++ x" و "x = x + 1" در جاوا چیست؟


پاسخ 1:

دوست عزیز ، لطفا به معلم خود بگویید که او به این نوع سؤالات پاسخ داده است ، بنابراین آنها متخصص هستند.

به هر حال ، به این سوال می رسیم:

بیایید x = 9. اگر اکنون از ++ x در یکی از عبارات استفاده می کنیم ، بدین معنی است که ابتدا مقدار x افزایش می یابد و سپس استفاده می شود ، یعنی در هر کجا که از ++ x استفاده می کنید ، مقدار 10 به جای 9 استفاده می شود. و مقدار تا 10 تغییر دیگری باقی می ماند.

اگر اکنون از (x = x + 1 یا x + = 1 یا x ++) استفاده کنیم ، ابتدا از مقدار استفاده می شود و سپس افزایش می یابد. عبارتی که برای اولین بار از x = x + 1 استفاده می شود از مقدار 9 استفاده می کند و سپس مقدار 10 در x ذخیره می شود تا تغییر دیگری رخ دهد.

من فکر می کنم تفاوت مشخص است. اگر نه ، نظر دهید.


پاسخ 2:
کلاس quora {public staticoid void main (String [] args) {int x = 5؛ x = x + 1؛ System.out.println (x)؛ x ++؛ System.out.println (x)؛ }
از کلاس "quora.java" quora {quora ()؛ کد: 0: alading_0 1: تماس ویژه # 1 // روش java / lang / Object. "" :() V 4: بازگرداندن اصلی خلأ استاتیک اصلی (java.lang.String [])؛ کد: 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 // Method 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 // Method java / io / PrintStream.println: (I) V 23: Return