public static void main(String[] args) {
int a=1,b=2,c=3;
b+=c--/++a;
System.out.println(b+=c--/++a);
System.out.println(a+" "+b+" "+c);
}
通过运行程序当然可以知道结果.但是我就想不通结果怎么来的...希望有人能够给出一个过程!谢谢啦~

解决方案 »

  1.   

    就是前置++與后置++的區別。
    對于后置++:
    在第一步中,計算時它的值不變,這句執行完畢后自增
    int i = 1;
    int temp = 0;
    temp = i++;   --1---此時temp=1,i=1
    temp = i;     --2---此時i = 2對于前置++:
    在第一步中,計算時它的值先自增
    int i = 1;
    int temp = 0;
    temp = ++i;   --1---此時temp=2,i=2
    temp = i;     --2---此時i = 2
      

  2.   

    这主要是++和--运算符及各运算符的优先级问题,分析如下:public   static   void   main(String[]   args)   { 
    int   a=1,b=2,c=3; 
    b+=c--/++a;     //这一句先计算c/++a,也就是3/2=1,而c--再减1,这样b+=c--/++a=3,c从3变为2,a从1变为2;System.out.println(b+=c--/++a); 
    //这一句同上,把上面的过程再算一次.先计算c/++a,也就是2/3=0,c--后c从上面的2变为1,a从上面的2变为3,b=b+0=3System.out.println(a+"   "+b+"   "+c); 
    } 最后结果为3 3 1 
      

  3.   

    要搞清楚的问题 
    如果n=1
      m=n++   ------>m=1 ,n=2
      m=++n   ------>m=2 ,n=2前者是先把n的值付给m  后n自增
    后者是先n自增 后把n的值付给m  
    -- 一样int   a=1,b=2,c=3;   
    b+=c--/++a;             
    =>  b=b+(c/a)     c=3 a=2 
    =>  b=2+(3/2)
    =>  b=3   (b=2+1.5   取整为3)           此时c=2  a=2后面的运算同上
      

  4.   

    如果这么写的话你应该好理解一点吧public static void main(String[] args) 
    {

    double   a=1,b=2,c=3; 
    b+=c--/++a; 
    System.out.println(b);
    System.out.println(b+=c--/++a); 
    System.out.println(a+"   "+b+"   "+c); 
    }
      

  5.   

    先要弄明白运算符优先级的问题:
    int   a=1,b=2,c=3; 
    b+=c--/++a; ++a     //a=2
    所以b+=c/++a  则b=b+3/2    //b=3
    c--     //c=2
    在打印语句System.out.println(b+=c--/++a); 
    时b+=c--/++a;又执行了一次!++a //a=3
    所以b+=c/++a   b=b+2/3  //b=3;
    c-- //c=1结果  3
         3 3 1
    如果程序代码是这样的话就不同了:
       public   static   void   main(String[]   args)   { 
          int   a=1,b=2,c=3; 
          int j;
          j=(b+=c--/++a); 
          System.out.println(j); 
          System.out.println(a+"   "+b+"   "+c); 
      

  6.   

    b+=c--/++a过程是b=b+(c--)/(++a),这么理解
    具体的计算过程:b=b+(c)/(a+1)
    因为c--是先使用后自减;++a是先使用,后自加