問題
如下代碼運(yùn)行結(jié)果是啥?
package day06;
public class YzcOperatorTest {
public static void main(String[] args) {
int a=1,b=2;
boolean flag = a<b||b<a&&a+b<0;
System.out.println(flag);//true
}
}
運(yùn)算符優(yōu)先級(jí)
該表中優(yōu)先級(jí)按照從高到低的順序書寫,也就是優(yōu)先級(jí)為1的優(yōu)先級(jí)最高,優(yōu)先級(jí)16的優(yōu)先級(jí)最低。

image.png
運(yùn)算符的結(jié)合性
相同優(yōu)先級(jí)的運(yùn)算符在同一個(gè)表達(dá)式中,且沒有括號(hào)的時(shí)候,運(yùn)算符和操作數(shù)的結(jié)合方式,通常有從左到右結(jié)合和從右到左結(jié)合兩種方式。
比如:
表達(dá)式a+b+c
+是從左向右結(jié)合(左結(jié)合)的,那么該表達(dá)式被解析為 (a+b)+c
表達(dá)式a=b=c
=是從右向左結(jié)合(右結(jié)合)的,那么該表達(dá)式被解析為a=(b=c)
表達(dá)式a > b ? b > c ? 1 : 0 : 2
?:是從右向左結(jié)合(右結(jié)合)的,那么該表達(dá)式被被解析為 a > b ? (b > c ? 1 : 0) : 2
參考資料
[01] 運(yùn)算符的結(jié)合性
https://www.cnblogs.com/softwaretesting/archive/2011/08/16/2139068.html
[02] Java運(yùn)算符優(yōu)先級(jí)
https://www.cnblogs.com/zjfjava/p/5996666.html