java 或 与 短路_短路与&&(或 ||)和非短路与&(或 |)的区别

  • Post author:
  • Post category:java


短路与是JAVA语言中的一个逻辑运算符,记作&&

A&&B, 当A为false时,不去计算B的值而直接返回false;当A为true时,计算B的值。

例子:

public static void main(String[] args){

int a=10, b=20;

System.out.println(“原始a=”+a);

System.out.println(“原始b=”+b);

boolean bool;

if(a++==11 && b++==21) {

System.out.println(“true”);

System.out.println(“a=”+a);

System.out.println(“b=”+b);

} else {

System.out.println(“false”);

System.out.println(“a=”+a);

System.out.println(“b=”+b);

}

}

输出结果:

原始a=10

原始b=20

false

a=11

b=20(注意这里,b的值并没有改变)

非短路与是JAVA语言中的一个逻辑运算符,记作&

A&&B, 当A为false时,继续计算B的值而不直接返回false(与短路与相比较?)

例子:

public static void main(String[] args){

int a=10, b=20;

System.out.println(“原始a=”+a);

System.out.println(“原始b=”+b);

boolean bool;

if(a++==11 & b++==21) {

System.out.println(“true”);

System.out.println(“a=”+a);

System.out.println(“b=”+b);

} else {

System.out.println(“false”);

System.out.println(“a=”+a);

System.out.println(“b=”+b);

}

}

输出结果:

原始a=10

原始b=20

false

a=11

b=21(注意这里,b的值已经变化了)

短路或和非短路或的区别,可以自己去验证!!!



版权声明:本文为weixin_35975197原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。