Java 运算符优先级

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 我们先后学习了不同的运算符,通过运算符我们的能进行各种不同的操作实现自己的想要的效果,但是此时还存在一个问题,当在...
    老九君阅读 2,454评论 0 0
  • 问题如下代码运行结果是啥? 运算符优先级 该表中优先级按照从高到低的顺序书写,也就是优先级为1的优先级最高,优先级...
    测试老杨阅读 5,278评论 0 1
  • 专业考题类型管理运行工作负责人一般作业考题内容选项A选项B选项C选项D选项E选项F正确答案 变电单选GYSZ本规程...
    小白兔去钓鱼阅读 12,935评论 0 13
  • 优先级从上到下依次递减,最上面具有最高的优先级,逗号操作符具有最低的优先级。 相同优先级中,按结合顺序计算。大多数...
    azmohan阅读 5,285评论 0 0
  • 一早 被窗外“哗哗”的雨声 搅了清梦 疑似杜甫从远唐涉水而来 一路踏歌而行 好雨知时节 当春乃发生 东风解冻 散而...
    葛芳阅读 5,188评论 35 39