逻辑运算符
&举例:
/* &:会判断所有条件,即使第1个条件是false,也会继续判断后边的条件 if条件中10/0一运行就会有问题,所以两个条件都判断的话,程序会报错 */ public class OperationDemo10 { 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 lesson0302.OperationDemo10.main(OperationDemo10.java:8)
&&举例:
/* &&:如果第1个条件是false,则后面不会再判断 if条件中10=10是false,则10/0不会再运行,所以程序不报错,能运行 */ public class OperationDemo11 { public static void main(String[] args) { if (10!=10&&10/0==0) { System.out.println("条件满足"); } } }
运行结果:
空
|举例:
/* |:会判断所有条件,即使第1个条件是true,也会继续判断后边条件 if条件中10/0一运行就会有问题,所以两个条件都判断的话,程序会报错 */ public class OperationDemo12 { 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 lesson0302.OperationDemo12.main(OperationDemo12.java:8)
||举例:
/* ||:如果第1个条件是true,则后面不会再判断 if条件中10==10是true,则10/0不会再运行,所以程序不报错,能正常运行 */ public class OperationDemo13 { public static void main(String[] args) { if (10==10||10/0==0) { System.out.println("条件满足"); } } }
运行结果:
条件满足
经过以上分析,可以总结出,短路与和短路或是最经常使用到的一种代码。