阅读目录
- 区别
- 短路运算
- 举例
区别
&& || 是逻辑运算,支持短路运算
& | 是位运算,不支持短路运算
短路运算
当有多个表达式时,左边的表达式值可以确定结果时,就再继续运算右边的表达式的值;
举例
例1
@Testpublic void testMyCase(){int i= 0;if (1 == 2 && (i++) == 9) {System.out.println("1 != 2, i:" + i);} else {System.out.println("i:" + i);}}
结果
1 | i:0 |
例2
@Testpublic void testMyCase(){int i= 0;if (1 == 2 & (i++) == 9) {System.out.println("1 != 2, i:" + i);} else {System.out.println("i:" + i);}}
结果
1 | i: 1 |
分析
例1 是 &&运算,1==2为错,直接执行else语句,而例2 是位操作,需要左右数值都算出来。
本文转自jihite博客园博客,原文链接:http://www.cnblogs.com/kaituorensheng/p/7735305.html,如需转载请自行联系原作者