a = j++ * --j * --j   这题目答案是几怎么算...优先级相同的情况下请问结合性是右向左还是  左向右...突然遇到这题目自己也混乱了...

解决方案 »

  1.   

    int j = 10;
    System.out.println(j++ * --j * --j);一共分三块
    j++
    --j
    --j这3个都做完了,才会做 *j++ 此时j=10参与运算, 然后j=11
    --j, 此时j=11, 先--变成10,然后参与运算
    --j 一样,变成9结果是 10*10*9 = 900
     
      

  2.   

    假设j=5
    先看j++,由于++在后,所以用5参与运算,然后j=6
    再看--j,由于--在前,所以用6-1=5参与运算,然后j=5
    再看最后一个--j,由于--在前,所以用5-1=4参与运算,然后j=4
    所以结果就是a=5*5*4=100;j=4