&运算符
&运算符我们都很熟悉,我们也都知道&运算符有两种,&和&&我们平时大多在用的其实是&&,那么这两个有什么区别呢?现在想起来是不是有些好奇了,下面说一下这两种有什么区别。
区别
&按位与运算,而&&是逻辑与也有短路与之称。
使用&时,当左面条件为false时,右面的条件还是会执行的,例如username != null &&!username.equals("")这个条件,当左面是空时,还会继续判断右面的条件,此时就会报空指针错误。
而&&在使用时,当左面的条件为false时,就会返回false了,不会再判断后面的条件。