||和&&都遵循短路运算规则
因此:
return a||b的意思就是如果a是true则返回a,否则返回b
return a&&b的意思就是如果a是false就则返回a,否则返回b
扩展:
实质上来说,||和&&这两个运算符分别叫做短路或和短路与,因此他们都是短路运算符。
&和&&
&: 两边可以是int类型也可以是bool类型。当两边是int类型的时候则表示与运算。当时bool类型的时候,要求两侧全为真的时候才会是真,其余都是假。如果第一个是假,则不会输出,程序会继续往后判断,但是不管最后一个是true还是false,结果都是false
&&: 短路运算符。当&&左侧判断出来是false 的时候程序不会再去判断&&的右边,直接输出false。其余都一样
|和||
|: 当 | 的左边为true的时候,必须还要判断,尽管这个时候可以确定为true
||: 因此||运算符就是来解决这个问题的。当左边为true的时候不用再判断了。