分享

Java 运算符优先级

 月小升的图书管 2020-02-19

https:///blog/priority-java-operation/

Java 的运算符优先级
算术运算符优先级较高,关系和逻辑运算符优先级较低。
多数运算符具有左结合性,单目运算符、三目运算符、赋值运算符具有右结合性。

类别操作符关联性
后缀() [] . (点操作符)左到右
一元!、+、-、~、++、–从右到左
乘性 *、/、%左到右
加性 + –左到右
移位 >> >>>  << 左到右
关系 <、<=、>、>=、instanceof左到右
相等 ==  !=左到右
按位与左到右
按位异或^左到右
按位或|左到右
逻辑与&&左到右
逻辑或||左到右
条件?:从右到左
赋值=、+=、-=、*=、/=、&=、|=、^=、~=、«=、»=、>>>=从右到左
逗号左到右

举个例子
(a+b*c)/5
这个例子很简单就是个数学公式

int a = 5;int b = 2;int c = 3;
if(a+5==10 || b==1 && c==0){
     System.out.println(true);
}

这个判断的意思是
1. 条件1 a+5 == 10
2. 条件2 b==1
3. 条件3 c==0
4. 判断条件2和3 形成条件4
5. 条件4 和条件1 联合判断
如果修改下

if( (a+5 == 10) || (b==1 && c==0) )

是不是容易看多了。

当无法确定优先级的时候,可以用()来强行改变优先级

在实际的java编程中,建议适当使用()来让程序容易读一些,并不是每个人需要强行记住那么多优先级判断

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多