java中这两个&和&&的区别
答案:6 悬赏:40 手机版
解决时间 2021-07-20 15:12
- 提问者网友:谁的错
- 2021-07-20 00:18
java中这两个&和&&的区别
最佳答案
- 五星知识达人网友:千夜
- 2021-07-20 00:50
&是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and)
全部回答
- 1楼网友:撞了怀
- 2021-07-20 05:47
& 和 &&
前者:是按位与,也就是说在与之前,先将数据转换成二进制代码,然后在进行与操作,
在条件语句中,可以当做逻辑与,这个逻辑“与”与“&&”这个与有些区别
后者:逻辑与,返回一个boolean值
区别:前者,是非短路也就是说,即使前面的条件是false 但是还要执行后面的语句 ,而&&如果前面条件为false那么就不执行后面的语句了
例如:j=1;
if( (++j ==1)&(j++==1))
System.out.println(j);
“&”前面的条件返回的是false ,但是还执行j++,所以这个输出的j是3
如果换成“&&”则输出的是2
- 2楼网友:长青诗
- 2021-07-20 04:10
&与 &&是且
- 3楼网友:詩光轨車
- 2021-07-20 02:56
一个拥有截断的功能 就是
- 4楼网友:酒者煙囻
- 2021-07-20 02:43
&表示按位“与”操作,&&是两个布尔值的“且”逻辑判定
比如说,1 & 2 值是0,因为1的二进制是1,2是10,按位与操作得到0
true && true 值为true,也就是&&两边的布尔表达是均为真的时候值为真,否则为假
- 5楼网友:雪起风沙痕
- 2021-07-20 01:13
它和逻辑与(&& )是一样的,区别就是非短路运算,即&运算符,即使左边是false,也要执行右边代码.
还有一点需要指出的区别就是 逻辑与(&&)在Java中运算符必须是boolean类型的,而按位与(&)可以是int类型的:
例:
System.out.println( 5&3);//(代码1) 打印结果1
System.out.println ( i++ == 1 && i++ == 2);//打印false
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯