java中| &和|| &&的区别

| :按位或 全0则0,否则为1 & :按位与 全1则1,否则为0
|| :逻辑或 && :逻辑与
(1)| &位运算符可以对数值进行运算,还可以对boolean进行运算,其中true 1,false 0;逻辑运算符只能对boolean进行运算。
(2)位运算符不会短路,逻辑运算符有短路现象。
public class ShortCircuit {
public static void main(String[] args) {
int a = 10;
int b = 10;
if (((a = 0) == 0) || ((b = 0) == 0)) {
System.out.println(“b=” + b);//当(a=0)==0成立时不会执行(b=0)==0; 短路
}
int x = 10;
int y = 10;
if (((x = 0) == 0) | ((y = 0) == 0)) {
System.out.println(y);
}
}
System.out.println(“y=” + y);//首先要对左右俩边的值进行按位或运算,即true|true,二进制结果依然为1,boolean中依然为1,所以输出为0;为运算可以对boolean进行运算

发布了28 篇原创文章 · 获赞 0 · 访问量 440

猜你喜欢

转载自blog.csdn.net/syhfly2333/article/details/104457351