java中,&连接两个数字的时候,它是表示两个位的按位与,而&&表示两个条件的并列,除些之外,&和&&还存在一些其他的区别,请看下面一段程序的:
public class Test1 {
public static void main(String[] args) {
int a=2;
int b=1;
if((a==1)&((++b)==2)){
System.out.println("a1="+a);
System.out.println("b1="+b);
}
System.out.println("a2="+a);
System.out.println("b2="+b);
a=2;
b=1;
if((a==1)&&((++b)==2))
{
System.out.println("a3="+a);
System.out.println("b3="+b);
}
System.out.println("a4="+a);
System.out.println("b4="+b);
}
}
结果为:a2=2
b2=2
a4=2
b4=1
其中的&&称为短路操作,当它前面的条件不成立时,它不再执行后面的代码,而&不同,它不管前面的代码真假,都会执行后面的代码.这是另一个&和&&的区别.