java-运算优先级问题

可以总结出:
①(),[],!,++,--优先级很高(这很自然)
②算数优先级>逻辑优先级>三元运算符>赋值运算符 也就是在写 if(a+b > c+d)这样的式子是不用费力写成if((a+b) > (c+d))的
还有 if(a>30 && a<60) 这其实也很自然
③只有单目运算符、赋值运算符、三元运算符的结合性是从右到左,一般的都是从左到右
结合性:这举一些例子就一目了然
a+b > c+d ">"是双目运算符,从左向右结合,也就是先算a+b,再算c+d
!(a&b) !是单目运算符,从右向左结合,也就是先算a&b,再取反
c=d 不必多说
a>b?c+e:f+g ?:是三元运算符,从右向左结合,也就是先算f+g,c+e再算a>b

浙公网安备 33010602011771号