博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java 运算符的优先级
阅读量:7086 次
发布时间:2019-06-28

本文共 1255 字,大约阅读时间需要 4 分钟。

 

运算符 结合性
[ ] . ( ) (方法调用) 从左向右
! ~ ++ -- +(一元运算) -(一元运算) 从右向左
* / % 从左向右
+ - 从左向右
<< >> >>> 从左向右
< <= > >= instanceof 从左向右
== != 从左向右
& 从左向右
^ 从左向右
| 从左向右
&& 从左向右
|| 从左向右
?: 从右向左
=
从右向左

 

 

在 Java 中,经常会用到多个运算符在一起组成判断表达式。但是如果不清楚各个运算符的优先级可能会导致难以察觉的bug.

如果在一个表达式中且 &&与|| 2种运算符时,建议用括号()来括住业务上要执行的优先级。

在以下例子中,第三个输出用括号提升了优先级使代码可读性更好。

 

1 public class TestAndOr { 2  3     public static void main(String[] args) { 4         // TODO Auto-generated method stub 5          int a =1; 6          int b =2; 7          int c =3; 8           9          //&&的优先级高于|| ,a<0&& b==2 会先运算10          if(a<0 && b==2 || c==0){11              System.out.println("yes");12          }else{13              System.out.println("no");14          }15          16          //&&的优先级高于|| ,c==0 && a<0会先运算17          if(b==2 || c==0  && a<0 ){18              System.out.println("yes2");19          }else{20              System.out.println("no2");21          }22          23          //括号的优先级高与&&,使用括号来提升了 b==2||c==0 的优先级24          if((b==2 || c==0)  && a<0 ){25              System.out.println("yes3");26          }else{27              System.out.println("no3");28          }29         30         31     }32 33 }34 35 36 //结果37 no38 yes239 no3

 

转载于:https://www.cnblogs.com/wahaha603/p/7195820.html

你可能感兴趣的文章
Exchange 日常管理之一:用户邮箱完全访问权限
查看>>
CloudStack 由于【辅助】二级存储名称配置错误引发的SSVM创建失败
查看>>
Android Studio - 第四十四期 倒计时
查看>>
负载均衡集群中如何隐藏VIP
查看>>
CUDA编程接口:使用nvcc编译器的兼容性
查看>>
IOS学习——UI基础UIWindow、UIView(五)
查看>>
Silverlight MMORPG《窝窝世界》游戏视频
查看>>
Oracle VM VirtualBox上安装windows server2008R2做SharePointServer2010开发(下
查看>>
数据收集利器 cAdvisor - 每天5分钟玩转 Docker 容器技术(82)
查看>>
<rhel6+pptpd+freeradius+mysql>
查看>>
前端有哪些优质资源可以利用?
查看>>
[ASP.NET]跨页面传值
查看>>
名词:topology、architecture和struct,究竟什么才是架构?
查看>>
极速理解设计模式系列:20.模板方法模式(Template Method Pattern)
查看>>
如何使用mysql(lamp)分离环境搭建dedecms织梦网站及apache服务器常见的403http状态码及其解决方法...
查看>>
CentOS6.5 keepalived详解及实现Nginx服务的高可用性
查看>>
OSPF路由过滤测试
查看>>
Linux基础命令小结(上)-Linux学习日记
查看>>
SMS 2003 系列 —OSD部署指南
查看>>
乾颐堂HCIE1 OSPF基础和Hello报文以及邻居的基本排错
查看>>