Java中 &与&&;|与||的区别

一、&(与)与&&(短路与)

  (1)相同之处:在程序中,当所有表达式的判断结果为true时,则结果才为真,返回true,否则,只要有其中一个表达式为假,结果都为false。

  (2)不同之处:

          a.&  当前面的表达式为假的时候,程序还是会执行后面的表达式,再得出false结果。

          b.&& 当前面的表达式为假时,程序会停止执行后面的表达式,结果仍是false。

例如:

public class HomeWork1{
public static void main(String[] args){
int x=1,y=1;
if(x++==2 && ++y==2){
x=7;
}
System.out.println("x="+x+",y="+y);
}
}

结果为x=2;y=1;

二、|(或)与||(短路或)

  (1)相同之处:在程序中,当有其中一个表达式为true时,结果都为true;

  (2)不同之处:

          a. | 当遇到类型为true的表达式时,程序还会继续向后走, 最后结果为true。

          b. ||当遇到类型为true的表达式时,程序不会向下走,但是最终结果还是true。

例如:

public class HomeWork1{
public static void main(String[] args){
int x=1,y=1;
if(x++==1 || ++y==1){
x=7;
}
System.out.println("x="+x+",y="+y);
}
}

结果为x=7;y=2;

  

         

原文地址:https://www.cnblogs.com/Y-mmeng/p/10497841.html