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

来源:互联网 发布:vs可以写php吗 编辑:程序博客网 时间:2024/03/29 10:05

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

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

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


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

  • 短路运算符:[条件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