关于java运算符的疑惑?

对java的运算规则一脸懵逼,可以详细分析一下吗

      int i = 1;
        i = i++;   
        System.out.println(i); //输出i=1


      int i = 1;
        i += ++i; //自增的优先级不是高于“+”吗
        System.out.println(i); //输出i=3,我以为是4

i += ++i ->i = i + (++i) = 1 + (++1) = 1 + 2 = 3

示例1:给变量赋值
示例2:给变量加法运算并赋值