& 与 && 的区别 & 与 && 有什么区别? 谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 &&会短路运算比如if(1!=2 && 2 == 2)那么只判断第一个表达式(1!=2)是否的话,他就不会取判断后面那个表达式(2==2)而&两个都会去判断!同理可得| 和 ||区别| 等同于 &|| 等同于 && &绝不是两个都去判断那么简单。&是算数运算符,跟+, - 是一样的,是按位与运算。当然两个布尔值做与运算的结果跟&&效果是一样的 &是逻辑操作。&&是条件操作。1.条件操作只能操作布尔型的,而逻辑操作不仅可以操作布尔型,而且可以操作数值型2.逻辑操作不会产生短路 我的理解是&是位运算,两个位做&运算,有一个位是0,则结果为0&&是And的意思,两个条件做&&运算,有一个是false,结果就是false &是逻辑操作。&&是条件操作。 1.条件操作只能操作布尔型的,而逻辑操作不仅可以操作布尔型,而且可以操作数值型 2.逻辑操作不会产生短路&是位运算,两个位做&运算,有一个位是0,则结果为0 &&是And的意思,两个条件做&&运算,有一个是false,结果就是false都可以理解吧平时用&&比较多,来温故下 &和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false。&&还具有短路的功能,即如果第一个表达式为false,则不再计算第二个表达式,例如,对于if(str != null && !str.equals(“”))表达式,当str为null时,后面的表达式不会执行,所以不会出现NullPointerException如果将&&改为&,则会抛出NullPointerException异常。If(x==33 & ++y>0) y会增长,If(x==33 && ++y>0)不会增长&还可以用作位运算符,当&操作符两边的表达式不是boolean类型时,&表示按位与操作,我们通常使用0x0f来与一个整数进行&运算,来获取该整数的最低4个bit位,例如,0x31 & 0x0f的结果为0x01。 这个解释是对的&和&&比较的时候就是说的这个问题多本书上都是着重指出这个 嘿嘿...谢谢大家!不知道 哪位是正确的了。我知道 | 与|| 的区别 。但 & 与 && 的区别 和 | 与 || 的区别 一样吗? &是位运算,&&是逻辑运算,是逻辑或if(a!=b && c==d)如果a!=b为真的话,后面就不去判断c==d这个条件,结果为真;否则就会判断,如果后面为真结果为真,后面为假结果为假。if(a!=b & c==d)当两个条件有一个为真结果为真,两个都假结果为假。谢谢! 首先:&&是逻辑运算符(两边必须都是boolean型);&是既可以用于位运算,又可以用于逻辑运算。当&是位运算符时,与&&就没关系了。同样是逻辑运算符时的区别:&&的特点就是执行短路运算。比如 false && (a == b++) ,这里的b++永远没有机会执行了。而用&不会执行短路运算。 false & (a == b++) 每次都会执行b++,虽然false & ? 时就已经确定了结果,&还是执著地要计算&右边的逻辑值。 &是为运算符,按位与,全为1即为1,有一个为0结果就为0。&&是条件运算符,返回值是boolean,形式是"条件1&&条件2",两个条件均为真才返回true,否则返回false。如果条件1就为false,条件2就不会执行了。写个程序并附上结果给你看下,你就明白了!源程序:public class Test { public static void main(String[] args) { //测试按位与&运算符 int i=10,j=15; int result=i&j; System.out.println(i+"二进制表示:"+Integer.toBinaryString(i)); System.out.println(j+"二进制表示:"+Integer.toBinaryString(j)); System.out.println(result+"二进制表示:"+Integer.toBinaryString(result)); System.out.println("i&j="+result); //测试条件运算符&& if((i<j)&&(result>0))System.out.println("两个条件均是正确的"); else System.out.println("两个条件至少有一个是错误的"); } }运行结果:10二进制表示:101015二进制表示:111110二进制表示:1010i&j=10两个条件均是正确的 在java中:& 非简洁与 &的左右两边都会被执行 && 简洁与 当左边的为假时右边的被忽略不用执行 三楼说的是c和c++中的作用吧 &是逻辑操作。&&是条件操作。 & 是位运算&& 是逻辑运算 &是位运算符也可以是逻辑与,在做逻辑与的时候有短路,也就是如果第一个条件不成立的话,第二个条件不再计算。&&是逻辑运算符,表示逻辑与(and),并且两个条件都计算。 & && | ||算数运算符 是 否 是 否 逻辑运算符 是 是(会短路) 是 是(会短路) &是位运算符,&&是逻辑运算符。 &&是逻辑与运算符,而&是位运算符! F5负载均衡的cookie问题 将一段Java代码转换为C#···求高人指点·· Structs2配置问题 使用ftp4j实现文件上传的功能? applet里面写一个SocketServer,会怎么样? 想在一个JAVA文件中使用另外两个JAVA文件的功能,如何实现? 求一个dojo0.9 io提交的实列 Struts环境配置(eclipse版)的一些问题 急!!请大家帮帮忙!关于find的问题 关于打开网页,用j2sdk做的 我也来说培训java的经历和面试经历 怎么让servlet转发到action中
比如
if(1!=2 && 2 == 2)
那么只判断第一个表达式(1!=2)是否的话,他就不会取判断后面那个表达式(2==2)
而&两个都会去判断!
同理可得| 和 ||区别
| 等同于 &
|| 等同于 &&
&绝不是两个都去判断那么简单。&是算数运算符,跟+, - 是一样的,是按位与运算。当然两个布尔值做与运算的结果跟&&效果是一样的
1.条件操作只能操作布尔型的,而逻辑操作不仅可以操作布尔型,而且可以操作数值型
2.逻辑操作不会产生短路
&是位运算,两个位做&运算,有一个位是0,则结果为0
&&是And的意思,两个条件做&&运算,有一个是false,结果就是false
1.条件操作只能操作布尔型的,而逻辑操作不仅可以操作布尔型,而且可以操作数值型
2.逻辑操作不会产生短路&是位运算,两个位做&运算,有一个位是0,则结果为0
&&是And的意思,两个条件做&&运算,有一个是false,结果就是false都可以理解吧平时用&&比较多,来温故下
&&还具有短路的功能,即如果第一个表达式为false,则不再计算第二个表达式,例如,对于if(str != null && !str.equals(“”))表达式,当str为null时,后面的表达式不会执行,所以不会出现NullPointerException如果将&&改为&,则会抛出NullPointerException异常。If(x==33 & ++y>0) y会增长,If(x==33 && ++y>0)不会增长
&还可以用作位运算符,当&操作符两边的表达式不是boolean类型时,&表示按位与操作,我们通常使用0x0f来与一个整数进行&运算,来获取该整数的最低4个bit位,例如,0x31 & 0x0f的结果为0x01。
这个解释是对的&和&&比较的时候就是说的这个问题多本书上都是着重指出这个
if(a!=b && c==d)
如果a!=b为真的话,后面就不去判断c==d这个条件,结果为真;否则就会判断,如果后面为真结果为真,后面为假结果为假。
if(a!=b & c==d)
当两个条件有一个为真结果为真,两个都假结果为假。
谢谢!
首先:&&是逻辑运算符(两边必须都是boolean型);&是既可以用于位运算,又可以用于逻辑运算。当&是位运算符时,与&&就没关系了。同样是逻辑运算符时的区别:&&的特点就是执行短路运算。比如 false && (a == b++) ,这里的b++永远没有机会执行了。
而用&不会执行短路运算。 false & (a == b++) 每次都会执行b++,虽然false & ? 时就已经确定了结果,&还是执著地要计算&右边的逻辑值。
&&是条件运算符,返回值是boolean,形式是"条件1&&条件2",两个条件均为真才返回true,否则返回false。如果条件1就为false,条件2就不会执行了。
写个程序并附上结果给你看下,你就明白了!源程序:
public class Test {
public static void main(String[] args) {
//测试按位与&运算符
int i=10,j=15;
int result=i&j;
System.out.println(i+"二进制表示:"+Integer.toBinaryString(i));
System.out.println(j+"二进制表示:"+Integer.toBinaryString(j));
System.out.println(result+"二进制表示:"+Integer.toBinaryString(result));
System.out.println("i&j="+result);
//测试条件运算符&&
if((i<j)&&(result>0))System.out.println("两个条件均是正确的");
else
System.out.println("两个条件至少有一个是错误的"); }
}
运行结果:
10二进制表示:1010
15二进制表示:1111
10二进制表示:1010
i&j=10
两个条件均是正确的
&& 简洁与 当左边的为假时右边的被忽略不用执行
三楼说的是c和c++中的作用吧
&& 是逻辑运算
&&是逻辑运算符,表示逻辑与(and),并且两个条件都计算。
逻辑运算符 是 是(会短路) 是 是(会短路)