&(按位与)和&&(逻辑与)的区别如下:
1.&&具有短路功能,而&不具有短路功能。
2.
当&运算符两侧的表达式的结果均为真时,整个运算结果才为真。
当&&操作符第一个表达式为 false时,结果为 false,并且不再计算第二个表达式。
(简单的表达就是:使用&运算符,必须两侧的都是true,结果为真。使用&&运算符,重点看第一个表达式,第一个表达式为false,后面的表达式就不会再计算(因为具有短路功能),如果第一个表达式是true,后面就会继续进行计算,直到后面全部都为true,才为真。)
为了让大家更好的理解,请看下面代码:
这里引入一下变量的命名规范!!!
变量的名字可大小写混用,但首字符应小写。词由大写字母分隔,限制用下划线,限制使用美元符($),因为这个字符对内部类有特殊的含义。示例如:resultOne 。
boolean resultOne = 1==3 & 1==1 & 2==2;
boolean resultTwo = 1==3 && 1==1 && 2==2;
System.out.println(resultOne);
System.out.println(resultTwo);
在很多时候我们都用到&&而不用&,例如在验证用户登录时进行时进行的判断,用户名不为空(null)也不是空字符串,代码应该写成:
userName != null && !userName.equals("");
userName.equals("") 如果userName为null 进行equals操作会报NullPointerException,所以我们要先判断userName不为null,在用equals判断不是空字符串。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)