双与和单与的差别

双与和单与的差别

单与和双与都可以用作逻辑与的运算符,双与为短路与,单与不是短路与,可以作为整数的位运算符

举两个例子:

1:对于if(str!=null && ls(""))这个表达式,当str == null 时,后面的表达式就不会执行,也不会出现NullPointerException(空指针异常),如果将 && 改为 & 则会抛出 NullPointerException(空指针异常)。