Rumah  >  Artikel  >  Java  >  短路与&&(或 ||)和非短路与&(或 |)的区别

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

巴扎黑
巴扎黑asal
2017-06-23 15:26:142733semak imbas

短路与是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的值已经变化了)

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

Atas ialah kandungan terperinci 短路与&&(或 ||)和非短路与&(或 |)的区别. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:Jenkins修改管理员密码实例教程Artikel seterusnya:怎么使用JavaPoet?