& 和 && 的区别

& 和 && 的区别amp amp 运算符 简洁与或者短路与 只有两个操作数都是 true 结果才是 true 如果 amp amp 左边的表达式的值是 false 右边的表达式会被直接短路掉 不会进行 运算 amp 运算符 1 按位与 两个为 1 才为 1 解义 对两个整数的二进制形式逐位进行逻辑与 运算 原理

大家好,我是讯享网,很高兴认识大家。

&&运算符

简洁与或者短路与

&运算符

(1)按位与:两个为1才为1

【解义】对两个整数的二进制形式逐位进行逻辑与 运算,原理:1|0=0,0|0=0,1&1=1;0&1=0等。
4&-5:
4的二进制形式为:00000000 00000000 00000000 00000100,
-5的二进制形式为: ,
逐位进行逻辑与运算:00000000 00000000 00000000 00000000,即得到0.
实际应用:可以把字节转换为整 数,-64&0xFF=192,也可以用八进制的形式,-64&0377=192、

其实0xFF和0377都表示的是整数255、

(2)逻辑与

只有两个操作数都是true,结果才是true。不管前一操作是否为false,后续任会进行。


讯享网

很多时候我们可能都需要用&&而不是&,例如在验证用户登录时判定用户名不是 null 而且不是空字符串,应
当写为 username != null &&!username.equals(""),二者的顺序不能交换,更不能用&运算符,因为第一个条件如
果不成立,根本不能进行字符串的 equals 比较,否则会产生 NullPointerException 异常。注意:逻辑或运算符(|)
和短路或运算符(||)的差别也是如此。

简单的例子:

public static void main(String[] args) { int a = 0; boolean b = false; if (b && a++ == 0) ; System.out.println(a); if (b & a++ == 0) ; System.out.println(a); } 

讯享网

结果:

讯享网0 1 
小讯
上一篇 2025-01-28 22:46
下一篇 2025-04-05 23:56

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/36673.html