x+=当然不表示x=x+1,而表示x=x+rightValue

解决方案 »

  1.   

    int x = 1;
     String [] names = { "Fred", "Jim", "Sheila" };
     names[--x] += "."; //x=0 names[0]="Fred."
     int x = 2;
    所以
    Fred.
    Jim
    Sheila第二段你写错了吧?
     int x=1;
     String [] names = { "Fred", "Jim", "Sheila" };
     names[--x] = names[--x] +".";//这里会out-of-index
    如果是
    int x=2;
    String [] names = { "Fred", "Jim", "Sheila" };
    names[--x] = names[--x] +".";
    就是names[1] = names[0]+".";
    所以
    Fred
    Fred.
    Sheila
      

  2.   

    严重同意上一位的看法。在statement:  names[--x] = name [--x] + "."表达式中,当左边的x执行左自减运算后,传递到右边表达式中的x的实际值已经是改变后的量。