ב- Java, מה ההבדל הטכני בין הביטויים "++ 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:
class quora {public static void main (מחרוזת [] args) {int x = 5; x = x + 1; System.out.println (x); x ++; System.out.println (x); }}
נערך מתוך הכיתה "quora.java" בכיתה {quora (); קוד: 0: aload_0 1: invokespecial # 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 : getostat # 2 // שדה java / lang / System.out: Ljava / io / PrintStream; 9: iload_1 10: invokevirtual # 3 // שיטת java / io / PrintStream.println: (I) V 13: iinc 1, 1 // x ++ 16: getostat # 2 // java field / lang / System.out: Ljava / io / PrintStream; 19: iload_1 20: invokevirtual # 3 // Method java / io / PrintStream.println: (I) V 23: חזור}