问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

java中&与&&的区别

发布网友 发布时间:2024-10-13 19:29

我来回答

4个回答

热心网友 时间:2024-11-08 00:17

java中&叫做按位与,&&叫做短路与,它们的区别是:

& 既是位运算符又是逻辑运算符,&的两侧可以是int,也可以是boolean表达式,当&两侧是int时,要先把运算符两侧的数转化为二进制数再进行运算,而短路与(&&)的两侧要求必须是布尔表达式。举例如下:

12&5 的值是多少?答:12转成二进制数是1100(前四位省略了),5转成二进制数是0101,则运算后的结果为0100即4 这是两侧为数值时;

若 int i = 2,j = 4;则(++i=2)&(j++=4)的结果为false,其过程是这样的:先判断++i=2是否成立,这里当然是不成立了(3 == 2),但是程序还会继续判断下一个表达式是否成立,j++=4 ,该表达式是成立的,但是&运算符要求运算符两侧的值都为真,结果才为真,所以(++i=2)&(j++=4)的结果为 false 注意 :&为真的条件是两侧表达式都为真,但是即使我们判断出左侧表达式的值为false,程序也还是要继续执行去判断右侧的表达式值的真假

若 int i = 2,j = 4;则(++i=2)&&(j++=4)的结果为false,其过程基本上和上面的是相同的,但是若左侧表达式的值为false时,程序则不会继续判断右侧表达式的真假了,短路与中,短路这个词大概也就是这个意思吧

热心网友 时间:2024-11-08 00:17

一个是位与,第一个条件不符合的情况下中断,如false&true. 则不会判断true ,返回false
一个是逻辑与 两个条件都满足才成立 如false&true. 则会判断true ,并返回false

热心网友 时间:2024-11-08 00:17

&是位与,&一般用于取一个字节(八位)的位数,&& 是且,一般用于判断语句的双重条件,这个你应该懂吧,就说&的用法;如:
a=10101000 如果我想取a的低四位,则可
10101000
& 00001111
00001000 这样我就取出了a的低四位1000
两个意义差不多,只是用的地方不同!

热心网友 时间:2024-11-08 00:18

&和&&都可以用作逻辑与的运算符,表示逻辑与(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。

热心网友 时间:2024-11-08 00:17

java中&叫做按位与,&&叫做短路与,它们的区别是:

& 既是位运算符又是逻辑运算符,&的两侧可以是int,也可以是boolean表达式,当&两侧是int时,要先把运算符两侧的数转化为二进制数再进行运算,而短路与(&&)的两侧要求必须是布尔表达式。举例如下:

12&5 的值是多少?答:12转成二进制数是1100(前四位省略了),5转成二进制数是0101,则运算后的结果为0100即4 这是两侧为数值时;

若 int i = 2,j = 4;则(++i=2)&(j++=4)的结果为false,其过程是这样的:先判断++i=2是否成立,这里当然是不成立了(3 == 2),但是程序还会继续判断下一个表达式是否成立,j++=4 ,该表达式是成立的,但是&运算符要求运算符两侧的值都为真,结果才为真,所以(++i=2)&(j++=4)的结果为 false 注意 :&为真的条件是两侧表达式都为真,但是即使我们判断出左侧表达式的值为false,程序也还是要继续执行去判断右侧的表达式值的真假

若 int i = 2,j = 4;则(++i=2)&&(j++=4)的结果为false,其过程基本上和上面的是相同的,但是若左侧表达式的值为false时,程序则不会继续判断右侧表达式的真假了,短路与中,短路这个词大概也就是这个意思吧

热心网友 时间:2024-11-08 00:17

一个是位与,第一个条件不符合的情况下中断,如false&true. 则不会判断true ,返回false
一个是逻辑与 两个条件都满足才成立 如false&true. 则会判断true ,并返回false

热心网友 时间:2024-11-08 00:18

&是位与,&一般用于取一个字节(八位)的位数,&& 是且,一般用于判断语句的双重条件,这个你应该懂吧,就说&的用法;如:
a=10101000 如果我想取a的低四位,则可
10101000
& 00001111
00001000 这样我就取出了a的低四位1000
两个意义差不多,只是用的地方不同!

热心网友 时间:2024-11-08 00:18

&和&&都可以用作逻辑与的运算符,表示逻辑与(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。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
立秋后钓鱼什么风向好-立秋钓鱼风向怎么选 赱乂砉込儬 怎么读 "赱"读什么? 解决电脑无法搜索到iPhone热点的问题如何修复iPhone热点无法在电脑上显... 电脑搜不到iphone12热点 iphone开热点给电脑搜不到 国企的地产有哪些 国企下设公司是什么意思? 红加蓝加绿是什么色. 梦幻西游75级开三倍抓鬼一轮有多少经验 对,就是你,李先生法语 苹果液体感应器是干嘛用的 iPod touch一代8G 如何升级固件版本,如何下载软件和游戏 ipod touch3代降级问题 touch 有必要破解吗 苹果touch二代的3.12版本能完美破解了吗? ipod touch不小心升级成4.2.1了,想恢复回原来的3.1.2,应该怎么做? 求麦当娜的The power of good-bye的下载地址```~ The Power of Goodbye歌曲简介 ITOUCH更新软件 ipod touch3.13的破解软件及教程 iPod touch 8g完美破解 touch1代现在2.2固件,怎么免费升级3.12固件+如何破解 在上海乘坐到金华的高铁G1395可以不取纸票直接拿身份证上车么? 上海人从上海坐高铁去金华需要隔离14天吗? 流动负债余额和速动资产余额的公示 我有个铜狮子官印谁帮我鉴定下那个年代的多小钱价位 ...道光》《大清》《顺治》《景德》年代的小钱那个值钱呢? 怪物猎人世界温暖的皮毛在哪 温暖的皮毛获取方法详解-高手进阶-安族网... 兔宝宝几月份出生的最好 属兔的生在几月最命好 英语中元音和辅音的区别是什么? 空腹喝豆浆有什么不好? 彊什么弱什么的词语彊x弱x式的四字词语 彊什么之什么的词语彊x之x式的四字词语 什么塞什么疆的词语x塞x疆式的四字词语 撩爆男朋友的情话小套路都有哪些呢 撩男朋友的情话套路甜炸了 青松烧鸭有什么独特的口感? 课程导报七下数学答案第31期第四版 八下人教版数学课程导报37期答案 以前听磁带谢霆锋有首歌叫<理想情人>歌词是"我会永远喜欢你任何模样... "我永远欣赏你,任何模样"这句歌词出自哪首歌? 银行卡将有大事发生,银行账户分类到底是什么鬼 小天鹅滚筒洗衣机TG80—1422WIDG多少钱 银行结算账户的分类有哪些呢? 《碧蓝航线》波特兰改造介绍介绍_《碧蓝航线》波特兰改造介绍是什么_百 ... 三星手机删除所有东西怎么做 粉末冶金粉末怎么来的 时光倔强的从我指缝中慢慢溜去 一滴一滴划破平静 掩面叹息 痛风针灸哪里最好 玉林市成均镇是玉州区范围吗?