概述
运算符 结合性
[ ] . ( ) (方法调用) 从左向右
! ~ ++ -- +(一元运算) -(一元运算) 从右向左
* / % 从左向右
+ - 从左向右
<< >> >>> 从左向右
< <= > >= instanceof 从左向右
== != 从左向右
& 从左向右
^ 从左向右
| 从左向右
&& 从左向右
|| 从左向右
?: 从右向左
= += -= *= /= %= &= |= ^= <<= >>= >>= 从右向左
=============================================
出一个题目:
int i=3;
int number=-i++;
System.out.printf("number=%dn",number);
System.out.printf("i=%dn",i);
答案显示number=-3 i=4
问题:++的优先级不是高于-号吗?为啥不是 -(i++)呢?
解答:首先向右结合指的是符号本身,而不是变量,所以++的右面没有变量,而-的右面有变量,
而且,++和-的优先级相同。所以,这个时候变成-3,根据后置++的定义,变量是先使用后自增的原则,结果为-3
最后i的值自增1变为4。
最后
以上就是苹果期待为你收集整理的java优先级对接_java运算符优先级和结合性的全部内容,希望文章能够帮你解决java优先级对接_java运算符优先级和结合性所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复