逻辑 与:

  & 和 &&

  例:true & false 表达式,先判断&前的表达式真或者假,再判断后面的表达式,只有前后同真则真,一假为假.

  例:true && false 表达式,和&不同的是,&&具有短路的作用,&&前的表达式为假,则后面的表达式不会再判断,整个表达式为假,同真为真,前假为假.

逻辑 或

  | 和 ||

  例:true | false 表达式,先判断 | 前的表达式为真或者假,再判断后面的表达式,同真为真,一假为假.

 例:true || false 表达式,也是个短路或,如果前面的表达式为假,则整个表达式就为假,也就是,同真为真,前假为假.


总结:

&  逻辑与(同真为真,一假为假)|  逻辑或(同真为真,一假为假)
&&  短路与(同真为真,前假为假)||  短路或(同真为真,前假为假)

其实短路与和短路或更加高效,如果一个布尔条件起决定性作用的话,可以使用短路运算符