JAVA算术运算符的优先级

public static void main(String[] args) {

          int a,b,c;
          a=b=c=5;
          a=++b-++c;
          System.out.println("a="+a+"b="+b+"c="+c);
          a=b+++c++;
          System.out.println("a="+a+"b="+b+"c="+c);
          a=b--+c--;
          System.out.println("a="+a+"b="+b+"c="+c);
        }
        }
        为什么这串代码第二次第三次输出的a值是在b c自增之前所得出的?
        按优先级不是应该自增自减运算先吗?

a++和++a,a++是在整句执行完之后才执行的,也就是在;之后执行,而++a是在语句执行前执行的。

结果
a=0b=6c=6
a=12b=7c=7
a=14b=6c=6
前面++b,先+1,表达式等于之后的,所以是6
b++,的值是自增前,6,然后b+1