i=++i+i++; ¡£¡£¡£¡£¡£¡£¡£¡£¡£¡£¡£¡£¡£¡£¡£¡£¡£¡£¡£¡£¡£¡£¡£¡£¡£¡£¡£¡£¡£¡£¡£¡£¡£¡£¡£¡£¡£¡£¡£¡£¡£¡£¡£¡£¡£
- Java code
public static void main(String[] args) { int i = 0; i=++i+i++; System.out.println(i); }Ö´ÐÐ˳ÐòÊÇÏÈi++ºó++iô£¿Èç¹ûÊÇ£¬i++Ö®ºó£¬ÔÚ++iʱµÄÖµÊDZ仯ºóµÄֵô£¿£¿
[½â¾ö°ì·¨]
ÏÈÖ´ÐÐ++i°É?
[½â¾ö°ì·¨]
ÕâÖÖÎÊÌ⣬ÆäʵÔËÐÐÏÂjavap -c ÀàÃû¾ÍÁ¢ÂíÖªµÀÔÒòÁË
[½â¾ö°ì·¨]
int i = 0;
int k=++i;
int m=i++;
i=k+m;
ÕâÑùÊDz»ÊǸüÈÝÒ×Àí½âЩ
[½â¾ö°ì·¨]
×îºÃ²»ÒªÍæÕâÑùµÄ´úÂë¡£¡£ÕâÑùµÄ´úÂë¿É¶ÁÐÔÌ«²î¡£¡£Èç¹ûÄãÖªµÀÔõôÀ´Ö´ÐÐ ×îºÃʹÓÃÀ¨ºÅÀ´ÊµÏÖ
[½â¾ö°ì·¨]
ÏÈ++i,ºói++ È»ºóÁ½¸öÏà¼Ó¸³Öµ¸øi ½á¹ûÊÇ2°É
[½â¾ö°ì·¨]
- Java code
public class a extends java.lang.Object{public a(); Code: 0: aload_0 1: invokespecial #1; //Method java/lang/Object."<init>":()V 4: returnpublic static void main(java.lang.String[]); Code: //¡¾¡¿±íʾջ£¬Õ»¶¥ÔÚ×î×ó¶Ë 0: iconst_0 //³£Á¿0ÈëÕ»£¬Õ»ÖÐÄÚÈÝΪ¡¾0¡¿ 1: istore_1 //´ÓÕ»¶¥µ¯³öÒ»¸öint£¬´æµ½¾Ö²¿±äÁ¿ÇøË÷ÒýΪ1µÄ±äÁ¿ÖУ¬¼´¾Ö²¿±äÁ¿ÇøË÷ÒýΪ1µÄ±äÁ¿ÖµÎª0£¬´ËʱջÖÐÄÚÈÝΪ¡¾¡¿ 2: iinc 1, 1 //¾Ö²¿±äÁ¿ÇøË÷ÒýΪ1µÄµÄ±äÁ¿¼Ó1£¬¼´¾Ö²¿±äÁ¿ÇøË÷ÒýΪ1µÄµÄ±äÁ¿´ËʱֵΪ1£¬Õ»ÖÐÄÚÈÝΪ¡¾¡¿ 5: iload_1 //½«¾Ö²¿±äÁ¿ÇøË÷ÒýΪ1µÄ±äÁ¿ÖµÈëÕ»£¬Õ»ÖÐÄÚÈÝΪ¡¾1¡¿ 6: iload_1 //½«¾Ö²¿±äÁ¿ÇøË÷ÒýΪ1µÄ±äÁ¿ÖµÈëÕ»£¬Õ»ÖÐÄÚÈÝΪ¡¾1,1¡¿ 7: iinc 1, 1 //¾Ö²¿±äÁ¿ÇøË÷ÒýΪ1µÄµÄ±äÁ¿¼Ó1£¬¼´¾Ö²¿±äÁ¿ÇøË÷ÒýΪ1µÄµÄ±äÁ¿´ËʱֵΪ2£¬Õ»ÖÐÄÚÈÝΪ¡¾1,1¡¿ 10: iadd //´ÓÕ»¶¥µ¯³öÁ½¸öintÖµ£¬¼´ÉÏÃæÕ»ÖеÄÁ½¸ö1£¬Ïà¼Ó£¬ÔÙ½«½á¹ûÈëÕ»£¬´ËʱջÖеÄÄÚÈÝ¡¾2¡¿ 11: istore_1 //´ÓÕ»¶¥µ¯³öÒ»¸öint£¬¼´ÉÏÃæÕ»ÖеÄ2£¬±£´æµ½¾Ö²¿±äÁ¿ÇøË÷ÒýΪ1µÄ±äÁ¿ÖУ¬¼´¾Ö²¿±äÁ¿ÇøË÷ÒýΪ1µÄ±äÁ¿Öµ´ËʱΪ2£¬´ËʱջÖеÄÄÚÈÝΪ¡¾¡¿ 12: getstatic #2; //Field java/lang/System.out:Ljava/io/PrintStream;ÒÔÏÂÊÇ´òÓ¡¾Ö²¿±äÁ¿ÇøË÷ÒýΪ1µÄ±äÁ¿Öµ 15: iload_1 16: invokevirtual #3; //Method java/io/PrintStream.println:(I)V 19: return}
[½â¾ö°ì·¨]
[½â¾ö°ì·¨]
[½â¾ö°ì·¨]
i=0
i=++i+i++
++i ±íʾÏÈÔËËãºó¸³Öµ ËùÒÔ++i ÕûÌåΪ1 £¬È»ºó°ÑÖµ¸³¸øi £¬ËùÒÔi=1
i++ ±íʾÏȸ³ÖµºóÔËËã ÒòΪiÒѾµÈÓÚ1ÁË£¬ËùÒÔi++Ϊ1,´Ëʱi=1;
×îÖյĽá¹ûÒ»¸ö¾ÍÊÇ£¨++i£©+£¨i++£©=2
[½â¾ö°ì·¨]
¿ÉÆäÖÐÒ»++ÊÇ´ý²Ù×÷¶¼ÈëÖ®áá²Å¼ÓµÄ£¬¼Ó·¨¹ûÓÐÓ°
¶øºó¼ÓµÄÈô²ÂÊÇi++£¬¿ÉÒÔͨ³ÌÐòÔÙһϣº
- Java code
public class Test { public static void main(String[] args) throws Exception { int i = 0; i=i+++1; System.out.println(i); }}
[½â¾ö°ì·¨]
ÔÚ±í´ïʽÓÃʹÓÃǰ++ÊÇ ±äÁ¿ÏÈ+1ÔÚÔÚ±í´ïʽÖÐʹÓã¬
ÔÚ±í´ïʽÖÐʹÓúó++ÊÇ ÏÈÔÚ±í´ïʽÖÐʹÓÃÔÚ½øÐÐ+1£¬
ÀýÈ磺
int i = 0;
int j = ++i; //Õâ¸öʱºòÏÈ+ÔÚÓà j = 1; i = 1;
int k = i++; //Õâ¸öʱºòÏÈÓÃÔÙ+ k = 1; i = 2;
ËùÒÔÄãµÄ i = ++i + i++;ÖÐÏÈ×öÁËÒ»´Î++²Ù×÷i±äΪ1 È»ºó×ö i + i µÄ²Ù×÷Ϊ2£¬È»ºóÓÖ×öÁËÒ»´Î ++µÄ²Ù×÷Õâ¸öÊǺóiµÄֵΪ2£¬ È»ºóÔٰѱí´ïʽµÄÖµ¸³Öµ¸øi¼´2.Õâ¸öʱºòÓÐÊǻػ죬 Äã¿ÉÒÔ°ÉiµÄ³õʼֵÉèΪ3£¬Äã¿ÉÒÔ¿´µ½½á¹ûiÊÇ8ÁË¡£