一、“与”和“或”的定义区别

(1)使用“与”操作,要求所有表达式的判断结果都是TRUE才为真;若有一个为FALSE,那么最终判断结果则为FALSE。

(2)使用“或”操作,要求所有表达式的判断结果都是FALSE才为假;若有一个为TRUE,那么最终的结果则为TRUE。

1.&

| 与|| 、&与&&的区别
| 与|| 、&与&&的区别

该例子说明,逻辑与在执行第一个表达式为真后,会继续执行后面的表达式,结果为真

| 与|| 、&与&&的区别
| 与|| 、&与&&的区别
该例子说明,当第一个表达式为假的时候,该例子会继续执行第二个表达式,不影响最终结果为假

2.&&
| 与|| 、&与&&的区别
| 与|| 、&与&&的区别
说明,第一个表达式为真,继续执行第二个表达式,不影响判断结果为真

| 与|| 、&与&&的区别
| 与|| 、&与&&的区别
前面表达式为假时就不会再执行后面的表达式,直接得出FALSE的结果

所以得出结论,&&是惰性计算,即当判断第一个为假的时候,就直接返回false,不继续执行第二个语句,但&会继续执行第二个语句

3.|

| 与|| 、&与&&的区别
| 与|| 、&与&&的区别
前面的表达式为真时,程序会继续执行后面的表达式,然后在得出TRUE的结果

| 与|| 、&与&&的区别
| 与|| 、&与&&的区别
说明后面的表达式执行了,但并不影响结果。

| 与|| 、&与&&的区别
| 与|| 、&与&&的区别
前面的表达式结果为真,则程序不会再执行后面的表达式,直接得出TRUE的结果

结论:||是惰性运算,如果第一个表达式为真,则不继续进行第二个表达式的运算,直接得出结果为真。| 非惰性,第一个为真,还会继续进行第二个

所以可以知道,&& 和 || 都是惰性计算 &和|是非惰性计算

相关文章:

  • 2021-08-30
  • 2021-09-24
  • 2021-09-29
  • 2019-10-30
  • 2021-07-16
  • 2021-09-16
  • 2021-11-02
  • 2021-11-03
猜你喜欢
  • 2021-12-07
  • 2021-08-05
  • 2021-09-18
  • 2021-12-16
  • 2021-12-15
  • 2021-11-29
相关资源
相似解决方案