&&也称“短路运算符”,意思为如果第一个表达式就能决定整个表达式的结果,运算符右边的表达式就不再计算。而&则是整个表达式都会走一遍,举个简单的例子:
public class LogicalOperater{
static int n=3;
public static void main(String[] args){
boolean b=(3>7) && ((n++)<2);
System.out.println("n=" +n+ ",boolean= " + b);
}
}
上面这段程序输出n=3,boolean=false,由于(3>7)为false,所以整个表达式都为false,后面的表达式并没有被运行,若将&&改为&,则输出结果为n=4,boolean=false,整个表达式都会被运行。