if (1 > 2 & 10 / 0 == 0)和if (1 > 2 && 10 / 0 == 0)输出结果一样么?
1.&的使用
public class TestDemo {
public static void main (String args [ ] ) {
System.out.println (10 / 0) ; 会出错
}
}
public class TestDemo {
public static void main (String args [ ] ) {
此时两个条件都被判断了
if (1 > 2 & 10 / 0 == 0) {
System.out.println ( “条件满足!”) ;
}
}
}
2.&&的使用
使用“&”时,明确表示多个条件都需要判断,但如果前面已经有条件返回了 False,后面即使有很多 True,最终结果也是 False。所以理论上后面的判断应该停止执行,可使用“&&”(短路与)避免问题。
public class TestDemo {
public static void main (String args [ ] ) {
if (1 > 2 && 10 / 0 == 0) {
使用“&&”后,第一个“1>2”条件不再实现,即可正确执行
System.out.println ( “条件满足!”) ;
}
}
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。