请问在java中&与&&的区别是什么?请写两个简单程序对比一下

如题所述

&是一般逻辑运算符,&&是短路逻辑运算符

一般逻辑运算符会求出符号两边的值进行与运算得出结果
短路逻辑运算符会先求出符号左边的。如果左边的为true,在计算右边的,如果左边的为false,就不进行右边的计算了。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-03-06
&是位与运算符:这个运算符运算的时候,两边的运算数转化成二进制数,一位一位(0或者1)地求与
&&是逻辑关系与运算符:这个就简单了,就是算那种逻辑布尔值的。
ps:一楼的意思是对的,但用语有点不够精确。本回答被提问者采纳
第2个回答  2008-03-06
写了点东西,复制到你的程序里,然后你在if中分别比较一个&与两个&的区别 一个&的时候输出 1和2 两个&的时候输出1 结果还用我说不,怕你不给我分,说明一个&的时候两边都要计算,两个&的时候当一边确定结果了,另一边就不计算了。

public static void main(String[] args)
{
if(getBoolean1()&getBoolean2())
{
System.out.println("true");
}
}
public static boolean getBoolean1()
{
System.out.println("1");
return false;
}
public static boolean getBoolean2()
{
System.out.println("2");
return false;
}
相似回答