Java面试题之“&&”和“&”的区别

逻辑运算符:与(&&)    或(||)  非(!)

中,“&&”和“||”被称为短路运算符

而,“&”和“|”被称为非短路运算符(使用少,逻辑不合理)


短路运算符和非短路运算符的区别:

  • 短路运算符:[条件1  &&  条件2],如果条件1不成立,则条件2不执行
  • 非短路运算符:[条件1  &&  条件2],不论条件1不成立,继续执行条件2


如:执行短路运算符,代码:
int a=1;
int b=2;
if(a==1 && b++==3){
   System.out.println(“条件1,2成立”);
}
System.out.println(b);

结果输出:

2

执行非短路运算符代码:

int a=1;
int b=2;
if(a==1 & b++==3){
   System.out.println(“条件1,2成立”);
}
System.out.println(b);

结果输出:

3


或(“||”和“|”)同理,


区别主要就在于,

“&&”和“&”

条件1不成立情况下,是否继续执行条件2

“||”和“|”

条件1不成立情况下,是否继续执行条件2

阅读更多
换一批

没有更多推荐了,返回首页