java &&与||短路的详解
来源:互联网 发布:windows电脑翻墙失败 编辑:程序博客网 时间:2024/06/03 16:42
java &&与||短路的详解
(2012-02-03 21:43:59)转载▼
标签:
it
短路运算符就是我们常用的“&&”、“||”,一般称为“条件操作”。class Logic{
public ststic void main(String[] args){
int a=1;
int b=1;
if(a<b && b<a/0){
System.out.println("Oh,That's Impossible!!!");
}else{
System.out.println("That's in my control.");
}
}
}
“&&”运算符检查第一个表达式是否返回“false”,如果是“false”则结果必为“false”,不再检查其他内容。
“a/0”是个明显的错误!但短路运算“&&”先判断“a<b”,返回“false”,遂造成短路,也就不进行“a/0”操作了,程序会打出"That's in my control."。这个时候,交换一下“&&”左右两边的表达式,程序立即抛出异常“java.lang.ArithmeticException: / by zero”。
“||”运算符检查第一个表达式是否返回“true”,如果是“true”则结果必为“true”,不再检查其他内容。
“a/0”是个明显的错误!但短路运算“||”先执行“a==b”判断,返回“true”,遂造成短路,也就不进行“a/0”操作了,程序会打出"That's in my control."。这个时候,交换一下“||”左右两边的表达式,程序立即抛出异常“java.lang.ArithmeticException: / by zero”。
“&”运算符不会造成短路,它会认认真真的检查每一个表达式,虽然“a<b”已经返回“flase”了,它还是会继续检查其他内容,以至于最终抛出异常“java.lang.ArithmeticException: / by zero”。
class Logic{
public ststic void main(String[] args){
int a=1;
int b=1;
if(a==b | b<a/0){
System.out.println("That's in my control.");
}else{
System.out.println("Oh,That's Impossible!!!");
}
}
}
同理,“|”运算符也不会造成短路,虽然“a==b”已经返回“true”了,它还是会继续检查其他内容,以至于最终抛出异常“java.lang.ArithmeticException: / by zero”。
}
“a/0”是个明显的错误!但短路运算“&&”先判断“a<b”,返回“false”,遂造成短路,也就不进行“a/0”操作了,程序会打出"That's in my control."。这个时候,交换一下“&&”左右两边的表达式,程序立即抛出异常“java.lang.ArithmeticException: / by zero”。
class Logic{
}
“a/0”是个明显的错误!但短路运算“||”先执行“a==b”判断,返回“true”,遂造成短路,也就不进行“a/0”操作了,程序会打出"That's in my control."。这个时候,交换一下“||”左右两边的表达式,程序立即抛出异常“java.lang.ArithmeticException: / by zero”。
非短路运算符包括 “& 与”、“| 或”、“^ 异或”,一般称为“逻辑操作”
class Logic{
}
}
阅读全文
1 0
- java &&与||短路的详解
- Java关于短路与&&的巧妙运用
- JAVA &&(短路与),&,|,||(短路或)
- Java中,逻辑与& 和短路与&& 的区别
- &&与||的短路运算
- 短路和非短路的"与"、"或"
- java中短路与、逻辑与、短路或、逻辑或
- JAVA中&&和&、||和|(短路与和逻辑与、短路或和逻辑或)的区别
- Java 按位与(&)和短路与(&&)按位或(|)和短路或(||)的区别总结
- Java 按位与(&)和短路与(&&)按位或(|)和短路或(||)的区别总结
- Java 按位与(&)和短路与(&&)按位或(|)和短路或(||)的区别总结
- JAVA中&&和&、||和|(短路与和逻辑与、短路或和逻辑或)的区别?
- JAVA中&&和&、||和|(短路与和逻辑与、短路或和逻辑或)的区别
- JAVA中&&和&、||和|(短路与和逻辑与、短路或和逻辑或)的区别
- Java中的逻辑与和短路与
- Java中的短路运算符与非短路运算符
- java ++ -- 异或 短路与 短路或 三目条件
- Java中的短路与运算和短路或运算
- 欢迎使用CSDN-markdown编辑器
- 内存分析工具-showmap
- 一分钟学会collectionView自定义layout(二、圆形布局)
- Linux下TBB安装及编译
- spring_boot 发布成war包 ,部署到外部的tomcat
- java &&与||短路的详解
- iOS Provisioning Profile(Certificate)与Code Signing详解/证书详解
- vue-router.js,入门案例
- installation failed with message install_canceled_by_user应用安装失败
- CSS实现单行、多行文本溢出显示省略号(…)
- CentOS下rpm包与yum安装与卸载方法
- 【青岛·签约】中企动力联手青岛昌德妇女儿童医院卡位互联网一站式服务平台
- Token和session
- 极客DIY:20多元改造家用开关,实现远程控制、定时控制