&&运算符
简洁与或者短路与
&运算符
(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

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