& 和 && 的区别

#  一、&和&&的区别

  - &:位运算符(按位与);&&:逻辑运算符
  - &是左右都为true,结果才为true,且两边均要比较
  - &&也是左右都为true,结果才为true,但只要左边为false,就不再看右边的结果了,直接返回结果为false
  
           
          &&的情况:输出"不合法"
          String userName;
          if(userName !=null && !userName.equals("")){
             System.out.println("不为空");
          }else{
             System.out.println("不合法");
          }

          &的情况:空指针异常:userName.equals("")产生的
          String userName;
          if(userName!=null & !userName.equals("")){
          }else{
             System.out.println("不合法");
          }