偶今天刚学JAVA
短路与&&是第一个条件如果不成立就不判断第二个条件,
逻辑与&是第一个条件如果不成立的话,还是判断第二个条件,但是第一个条件不成立的话,整个
表达式还是false,那这个&的话不就没意思了吗?判断第二个条件不是多此一举?搞不懂这个&有什么

解决方案 »

  1.   

    &是“按位与”运算符,这是代数运算符。用于代数运算
    &&是“与”运算符,这是逻辑运算符。用于逻辑判断楼主不要搞混了。
      

  2.   

    不好意思,书上就是这么写得
    if(条件1 & 条件2)
      

  3.   

    有的时候要求&后面的语句也执行啊
      

  4.   

    首先必须明确,&确实有你所说的功能;看下面的例子
    class D
    {
       public static void main(String arg[])
      {
         int i,j;
         i = 1;
         j = 2;
         if(++i < 0 & ++j > 1)
         {
    System.out.println("i="+i+" j="+j);
         }
         System.out.println("j="+j);
       } 
    }
    输出结果是 j=3
    if的判断结果为假,System.out.println("i="+i+" j="+j)不会被执行
    但是j仍然被加一。如果你确实需要j加一,&的价值就体现出来了,所以
    说还是有用的