两者都是逻辑判断符,含义是一样的,即对于A && B,当A与B均为真时,表达式的值才为真。
区别在于,&&会进行 短路 操作,而&不会。也就是说,对于&&,如果左边的判断条件是假的话,右边的判断表达式就不会再被判断,而使用&时,则不管左边的判断表达式是什么结果,右边都会进行判断。
验证代码如下:
int a = 1;
int b = 2;
if (a > 1 && b++ > 3);
System.out.println(b);
结果输出b的值为2,即没有进行++操作。
int a = 1;
int b = 2;
if (a > 1 & b++ > 3);
System.out.println(b);
结果输出b的值为3,即进行了++操作。
||与|也是一样的,这里就不介绍了。