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--;


优先级表

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容