JAVA的算符优先级问题

a=-2;

a+=2-3; //-3

a*=3+5;//-24 原因:*=优先级低,且运算方式从右向左,故,先执行右边3+5

a%=1+2*4 //-6 过程:-24%9=-6


int min=43;

min++;

min=--min%15 //13,先--min,再%15,再赋值


int minutes = 0;

int temp = 23;

minutes = temp--; //minutes=23,temp=22, 因为:--在后,优先级较低,temp先赋值minutes,再temp--;


优先级表

JAVA的算符优先级问题_第1张图片

由此可以发现一些规律:大多数算符是从左向右结合;赋值语句的优先级较低;总的来说是:算,关,逻条,赋(优先级依次降低),算数当中前置的++,--优先级较高,而后置的自增符号优先级较低,甚至低于赋值。

你可能感兴趣的:(JAVA的算符优先级问题)