最近仔细回顾了一下以前的知识,发现很多细节的地方都遗忘了,自己来补充下:
首先说说 "&&" 与 “&”
验证 "&&": 当第一个条件为false时,就不必判断后面的条件。
public static void main(String[] args) {
if(10!=10 && 10/0 ==0){
System.out.println("条件满足");
}
}
结果: 不会出现 错误 除数为0的错误
验证 "&": 必须判断所有的条件,所以抛出了除数为0的错误
public static void main(String[] args) {
if(10!=10 & 10/0 ==0){
System.out.println("条件满足");
}
}
结果:Exception in thread "main" java.lang.ArithmeticException: / by zero
at mystudy.LogicalOperator.main(LogicalOperator.java:24)
再说说 "||" 与 “|”
验证 "||": 当第一个条件为true时,就不必判断后面的条件。
public static void main(String[] args) {
if(10==10 || 10/0 ==0){ // 若 条件为(10/0 ==0 ||10==10) 则结果为:Exception in thread "main" java.lang.ArithmeticException: / by zero
System.out.println("条件满足");
}
}
验证 "|": 必须判断所有的条件,所以抛出了除数为0的错误
public static void main(String[] args) {
if(10==10 | 10/0 ==0){
System.out.println("条件满足");
}
}
结果:Exception in thread "main" java.lang.ArithmeticException: / by zero
at mystudy.LogicalOperator.main(LogicalOperator.java:24)
综上所述: ”&“ 和 ”|“ 会判断所有 , 但是”&&“ 和 ”||“ ,两者重点判断第一个条件