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

 

posted @ 2022-03-03 11:34  `安安安安安  阅读(43)  评论(0)    收藏  举报