// 与(&)和短路与(&&)的区别
// 只要第一个结果是false,则整体结果就是false,后面的就不再执行了
if (10 != 10 && 10 / 0 == 0) {
System.out.println("条件满足");
}
// 即使第一个结果是false,程序依然会执行后面的结果,所以后面的出现算术异常,而上面就没有
if (10 != 10 & 10 / 0 == 0) {
System.out.println("条件满足");
}
// 或(|)和短路或(||)的区别
// 只要第一个条件成立,后面的就不再执行,也就不会出现异常
if (10 == 10 || 10 / 0 == 0) {
System.out.println("条件满足");
}
// 虽然第一个条成立了,但还是会执行后面语句,所以出现了异常
if (10 == 10 | 10 / 0 == 0) {
System.out.println("条件满足");
}
转载于:https://my.oschina.net/wlwlwlw/blog/697410