java,-=,*=,/=表达式的执行

        int i = 7;
//        i-= 3+2;  //7-(3+2)=2
//        i -= 3 - 2;  //7-(3-2)=6
//        i -= 3 - (2L == 2L ? 1 : 3);  //7-(3-1)=5

//        i*= 3+2;  //7*(3+2)=35
//        i /= 3 - 2;  //7/(3-2)=7
        i %= 3 - (2L == 2L ? 1 : 3);  //7%(3-1)=1
        System.out.println(i);

运算符优先级表
 

优先级

运算符

结合性

1

() [] .

从左到右

2

! +(正)  -(负) ~ ++ --

从右向左

3

* / %

从左向右

4

+(加) -(减)

从左向右

5

<< >> >>>

从左向右

6

< <= > >= instanceof

从左向右

7

==   !=

从左向右

8

&(按位与)

从左向右

9

^

从左向右

10

|

从左向右

11

&&

从左向右

12

||

从左向右

13

?:

从右向左

14

= += -= *= /= %= &= |= ^=  ~=  <<= >>=   >>>=

从右向左

   说明:

  1、 该表中优先级按照从高到低的顺序书写,也就是优先级为1的优先级最高,优先级14的优先级最低。

 

你可能感兴趣的:(Java)