&是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and),这是我复制的。具体有什么区别呢?

解决方案 »

  1.   

     楼主:  &是位运算,而&&是逻辑运算.比如,我要判断用户名与密码都为admin的条件判断语句:
    if(username.equqls("admin")&& password.equals("admin")){
    //两者都是admin的语句
    }
    else{
    }
        & 这个是位运算,当两者都为1时才为1,否则为0.
     
      

  2.   

    &是位运算符,表示按位与运算,
    在C/C++中可以表示位运算,如a=1101&1110;
    &&是逻辑运算符,表示逻辑与(and)多用于条件表示
    如if(a==3&&b==4){c=5;}
    表示只有a等于3而且b等于4时c才等于5.
    而且&&是短路运算符,也就是说如果a不等于3,则
    计算机不再计算表达式b==4的值,整个表达式的值则为假,
    节省了时间。
      

  3.   

    &     位运算符  可以是boolean类型和数值类型
    &&    逻辑运算符    只能是boolean类型   
    区别  && 也叫“短路与”如果第1个表达式已经判断出结果  第2个表达式则不在进行计算了
    | 和 || 同上
      

  4.   

    1&1 =1 1&0=0 0&0 =0 1|0 =1 1|1=1 0|0=0
      

  5.   

    &,逻辑与;&&,短路与与的概念是,只要两个表达式返回结果都为真,则最终结果为真。&在程序运行时会依次判断两个表达式是否为真。&&在程序运行时首先判断前一个是否为真,如果为假,则不再判断第二个表达式的真假,因为整个表达式不可能为真了,再判断就没有任何意义了。往往为了效率更高,我们通常使用此符号。