&和&&的区别

 我来答
宝我想去看看
2021-10-19 · 记录生活热爱生活分享生活
宝我想去看看
采纳数:215 获赞数:9097

向TA提问 私信TA
展开全部

区别如下:

&:不管前面的条件是否正确,后面都执行。

&&:前面条件正确时,才执行后面,不正确时,就不执行,就效率而言,这个更好。

&&是逻辑运算中的“短路”,若"&&"前的条件为false时判断结果为false,不再执行"&&"后的语句块。"&&"前为true则继续进行进行后半部分的判断 。

定义:

1:&&在Java和PHP以及c#中都是逻辑操作符,也叫条件操作符。

2:&&在bat中顺序执行多条命令,执行过程中如命令出错则停止执行之后的命令。

3:c++中也会用&&来指定一个rvalue的引用类型。

4:c语言中&&是一种双目运算符,表示与运算,而当左边所给表达式或变量为0时,不再计算右侧,整个表达式为零。

亦是如此
高粉答主

2021-10-22 · 往前看,不要回头。
亦是如此
采纳数:6378 获赞数:544483

向TA提问 私信TA
展开全部

1、 相同点:

在java中”&&”和”&”都是逻辑运算符

2、区别举例:

int i=0,j=1。

if(i++&&j++)。

System.out.println(“j=”+j)。

的输出结果是:j=1;而如果换成”&”则程序的输出结果将为:j=2,在我们书写的程序中一般是不会用后者的,因为我们的目的是必须两者都为真才执行下面的语句。同理,符号”||”和符号”|”的区别同例子。

相关内容解释

&叫and。来源于拉丁语et (意为and)的连写,是一个逻辑语言,是指逻辑上表示两者属于缺一不可的关系,还表示意思是一个人和另外一个人之意,与and同义。如A&B,表示A与B,A和B,A×B。

字符 & 的最早历史可以追溯到公元1世纪,最早是拉丁语et (意为and)的连写。最早的 & 是e和t的合字,后来经过一些演变,形成了固定的合字,继而演变为符号。这个符号和古代一些西文字体的et连写几乎一样。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
教育小百科达人
推荐于2019-09-06 · TA获得超过156万个赞
知道大有可为答主
回答量:8828
采纳率:99%
帮助的人:466万
展开全部

区别:

  1. &和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false。

  2. &&还具有短路的功能,即如果第一个表达式为false,则不再计算第二个表达式,例如,对于if(str != null && !str.equals(“”))表达式,当str为null时,后面的表达式不会执行,所以不会出现NullPointerException如果将&&改为&,则会抛出NullPointerException异常。If(x==33 & ++y>0) y会增长,If(x==33 && ++y>0)不会增长

  3. &还可以用作位运算符,当&操作符两边的表达式不是boolean类型时,&表示按位与操作,我们通常使用0x0f来与一个整数进行&运算,来获取该整数的最低4个bit位,例如,0x31 & 0x0f的结果为0x01。


拓展资料:

最早是拉丁语et (意为and)的连写。最早的&很像E和 的组合,随着印刷技术的发展,这个符号逐渐形成自己的样式并脱离其原始影子。 英文中代表and,也可读and 该字符读音“z'da”。


在一个表达式中可能包含多个有不同运算符连接起来的、具有不同数据类型的数据对象;由于表达式有多种运算,不同的运算顺序可能得出不同结果甚至出现错误运算错误,因为当表达式中含多种运算时,必须按一定顺序进行结合,才能保证运算的合理性和结果的正确性、唯一性。


优先级从上到下依次递减,最上面具有最高的优先级,逗号操作符具有最低的优先级。表达式的结合次序取决于表达式中各种运算符的优先级。优先级高的运算符先结合,优先级低的运算符后结合,同一行中的运算符的优先级相同。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
推荐于2017-06-14
展开全部
&和&&都是逻辑运算符号,&&又叫短路运算符
区别如下
int i=1;
if(i==2 & i++==2){} //i==2为false,但i++==2还会继续比较,所以i++被执行
System.out.println(i);//i 打印出来为2
int j=1;
if(j==2 && j++==2){} //j==2为false,但j++==2不会继续比较,所以j++不被执行
System.out.println(j);//j打印出来为1

& 不管前面的条件是否正确,后面都执行
&& 前面条件正确时,才执行后面,不正确时,就不执行,就效率而言,这个更好
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
超级飘飘乖乖
推荐于2019-08-20 · TA获得超过3.4万个赞
知道答主
回答量:205
采纳率:100%
帮助的人:6.1万
展开全部
& 不管前面的条件是否正确,后面都执行
&& 前面条件正确时,才执行后面,不正确时,就不执行,就效率而言,这个更好。
&&”是逻辑运算中的“短路”,若"&&"前的条件为false时判断结果为false,不再执行"&&"后的语句块。"&&"前为true则继续进行进行后半部分的判断 。
拓展资料
&在数学逻辑中此符号也充分运用到,意思是与、和。
运用
1在HTML或SGML文档中,用于指明有字符存在(特殊字符)的默认符号。
2在电子制表程序中,用于在描述单元格相互关系的公式中插入文本的操作符。
3该字符还有"AND"的意思。
4该字符读音"z'da"。
5&还有"联合"的意思。比如"A&B"公司,就是"A"和"B"两间公司合并起来的。
6在某些电脑语言,如java中,表示按位进行"或"运算。
7英文拼写:ampersand。
8高级语言中的取地址符,如:"int a=0;int *p;*p=&a;",意为取变量a的地址给指针p。
9C语言中两个&&表示与运算。
如:while("a==9&&b==5") 表示当a=9与b=5时,条件成立。
在以上的意义中,以第3和第5项的用法最为普遍。
&&是在编程中使用的一种符号。是逻辑(条件)与。
在Java和PHP,bat,c++,c语言中分别有着不同的含义。
作为逻辑操作符的使用方法
x&&y
功能描述: "条件与":x和y均为true,取值是true,否则取值是false
&和&&都需要两个操作数的值都是true时,才取值true,但是两个操作符还是有区别的:
使用方法是int&& rx=x;
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(10)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式