一、“与”和“或”的定义区别
(1)使用“与”操作,要求所有表达式的判断结果都是TRUE才为真;若有一个为FALSE,那么最终判断结果则为FALSE。
(2)使用“或”操作,要求所有表达式的判断结果都是FALSE才为假;若有一个为TRUE,那么最终的结果则为TRUE。
1.&
该例子说明,逻辑与在执行第一个表达式为真后,会继续执行后面的表达式,结果为真
该例子说明,当第一个表达式为假的时候,该例子会继续执行第二个表达式,不影响最终结果为假
2.&&
说明,第一个表达式为真,继续执行第二个表达式,不影响判断结果为真
前面表达式为假时就不会再执行后面的表达式,直接得出FALSE的结果
所以得出结论,&&是惰性计算,即当判断第一个为假的时候,就直接返回false,不继续执行第二个语句,但&会继续执行第二个语句
3.|
前面的表达式为真时,程序会继续执行后面的表达式,然后在得出TRUE的结果
说明后面的表达式执行了,但并不影响结果。
前面的表达式结果为真,则程序不会再执行后面的表达式,直接得出TRUE的结果
结论:||是惰性运算,如果第一个表达式为真,则不继续进行第二个表达式的运算,直接得出结果为真。| 非惰性,第一个为真,还会继续进行第二个
所以可以知道,&& 和 || 都是惰性计算 &和|是非惰性计算