java &和&& 以及 |和 ||之间的异同点

今天开始又来学习了java,之前学习了一点入门,并不深。从今天开始转战java,今天遇到了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;

猜你喜欢

转载自www.cnblogs.com/H-Gfeng/p/10497873.html
今日推荐