java的&,&& ,|,||的区别
先看题目:
1、写出下面程序运行的结果
int x = 1,y = 1;
if(x++==2 && ++y==2)
{
x =7;
}
System.out.println("x="+x+",y="+y);
运行结果:“x=2,y=1”;
2、写出下面程序运行的结果
int x = 1,y = 1;
if(x++==1 || ++y==1)
{
x =7;
}
System.out.println("x="+x+",y="+y);
运行结果:“x=7,y=1”
“&”和“&&”执行结果一样的
但“&”无论左边结果是怎样,都去执行右边;而“&&”若左边为Flase右边就执行。
相同的,“|”也和上面的“&” 无论左边结果是怎样,都去执行右边;
同上的“&&”的
“||”运算符:若运算符左边为true,则不再对运算符右侧进行运算