int a=7;
int b=3;
System.out.println(a++ +b);
System.out.println(++a+b);
System.out.println(a-- *b);
System.out.println(--a*b);
++a+b=12 a--*b=27 不理解希望高手解答

解决方案 »

  1.   

    ++a+b=12 是因为你在上一个输出语句中System.out.println(a++ +b)对b的值进行了+1运算,其值变为4,这样a+b=11,++a以后,a=8,再+b= 12.
    以后的照此类推就行了。
      

  2.   

    a++ +b,a++后作,于是7+3=10, a=8 b=3
    然后++a+b, ++a先做,于是9+3=12,a=9 b=3
    然后a-- *b,a--后作,于是9*3=27, a=8 b=3
    最后--a*b,--a先做,于是7*3=21, a=7 b=3
      

  3.   

    ++、--在a前面时表示a先自加1或自减1再用a的值,在后面表示先用a原来的值然后a再自加1或自减1,要多看书啊
    a++ +b后a的值是8
    ++a +b 
    a的值先加1再加b,就是9+3=12
    a-- *b 3*9=27,然后a再自减1
      

  4.   

    int a=7; 
    int b=3; 
    System.out.println(a++ +b); //这里实际上是打印7+3 此句执行完后a的值是8
    System.out.println(++a+b); //这里实际上是打印9+3 此句执行完后a的值是9
    System.out.println(a-- *b); //这里实际上是打印9*3 此句执行完后a的值是8
    System.out.println(--a*b); //7*3 此句执行完后a的值是7
      

  5.   

    看看我分析的
    http://blog.csdn.net/suncheng_hong/archive/2008/11/13/3293659.aspx
      

  6.   

    这是C语言的基础问题。++a:是a的值先进行自加1后,再参与运算
    a++:是a先参与运算,等运算结束后,a的值再自加1
    --a与a--和上面一样。