https://user.qzone.qq.com/1240730400/blog/1520998882

 

question 1:&&与&区别  (多考察用不用执行右半边)

& 既是位运算符又是逻辑运算符,&的两侧可以是int,也可以是boolean表达式,当&两侧是int时,要先把运算符两侧的数转化为二进制数再进行运算,而短路与(&&)的两侧要求必须是布尔表达式

eg:   i2,j=3,(i++=2)&(++j=3)  false    &需要两边同时为真才true。

&&叫做短路与    左边错了就不会执行右边

 

question 2:|与||区别 同理