and 与 or的计算规则

1、A and B and C

A如果为真就往B走,B如果为真就往C走,C如果为真,就为真,C如果为假,返回值就为假,结果是C。

A如果为真就往B走,B如果为假,那么如果为假,返回值就为假,结果是B。

A如果为假,返回值就为假,结果就是A。

总结:纯and语句中,往右运算,如果都为真,返回值为真,返回最后一个。在往右运算的过程中,某个表达式为假,结果就是那个表达式,且返回值为假。

2、A or B or C

A如果为真,结果就为A,返回值就为真。

A如果为假,往右边走,B为真,结果就为B,返回值就是真。后面不需要在做判断。

A如果为假,往右边走,B为假,往右边走,C 为真,就返回真,结果为C,C为假,就返回假,结果为C。

总结:在纯or语句中,表达式只要有一个不为假,返回值就不为假,结果为从左到右运算的第一个为真的值。

3、or与and混合使用的情况

and的运算优先级大于or

总结下就是:碰到and就往右边走,全部为真就为真,有假的结果就为这个值,返回值为假然后进行or运算,有真为真,且为那个值,全部为假就为假。且结果为第一个的那个假的值。

3 or (4 and 0)  返回的是3 

false or 0 返回的是0

原文地址:https://www.cnblogs.com/medigrat/p/12137785.html