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