在Java中,“&”与“&&”都表示逻辑与,两者判断顺序都是从左往右,输出的结果都是Boolean类型,他们的区别在于:
“&”会判断两个表达式,即使左边的等式是false,也仍然会继续判断右边的等式,在判断完两边的等式之后再输出结果。
“&&”相比较则更节省时间,当左边的等式结果是false时,就不对右边等式进行判断而直接输出结果。
通常将这种在逻辑表达式中从左端的表达式可以推断出整个表达式的结果的值称为“短路”,而那些始终执行逻辑运算符两边的表达式称为“非短路”。“&&”属于“短路”运算符,而“&”则属于“非
短路”运算符。