java逻辑运算符的短路问题

1. 优先级顺序: (重点记忆)

算术运算符 > 关系运算符 > 逻辑运算符

算术运算符: + - 等

关系运算符: > < >= 等

逻辑运算符: && || 等

2.关于逻辑运算符的短路问题

& : 与 | : 或 && : 短路与 || : 短路或

简单介绍一下使用:

& 是运行两边条件,如果有一个结果为false,结果为false

| 是运行两边条件,如果有一个结果为true,结果为true

&& 运算到有结果为false,结果为false

|| 运算到有结果为true,结果为true

我们来看一些代码理解一下

//猜猜下面会输出什么 
if(false & (1/0)>0){
     System.out.println("执行成功");
 }else {
     System.out.println("执行不成功");
 }
//它会报if(false & (1/0)>0)这一行报错,知道为什么吗?
//因为1不能除以0,小学问题,1怎么除0,肯定报错啊

//我们在来看看
if(false && (1/0)>0){
     System.out.println("执行成功");
 }else {
     System.out.println("执行不成功");
 }
//这里结果为执行不成功,因为第一个为false,短路了,不会运算第二行代码了,所以不会运算(1/0)>0,所以将正常输出,是不是很有趣

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

推荐阅读更多精彩内容