Java运算符优先级

编程

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编程中,建议适当使用()来让程序容易读一些,并不是每个人需要强行记住那么多优先级判断

以上是 Java运算符优先级 的全部内容, 来源链接: utcz.com/z/513573.html

回到顶部