1.概念:
&运算符有两种用法:(1)按位与 (2)逻辑与
&&运算符是短路与
2.相同点:
二者都是要求符号两边的值都为true,表达式的值,才为true
3.不同点:
&左边的表达式即使为false,右边的表达式也会进行运算
&左边的表达式如果为false,右边的表达式会直接短路掉,即不会进行运算
我们经常使用的是&&,比如在用户登录里,对输入用户名是否为空进行判断,应当写成
usename!=null&&!usename.equals("");二者的顺序不能交换,因为如果第一个条件不成立,根本就不能与字符串的equals比较,否则会报空指针异常。逻辑或运算"|"与短路或运算符“||”也如此。