本文主要阐述&&(短路与)和&(逻辑与)的运算异同:
a && b 和 a&b :
共同之处是只有a和b同时为真时,结果才为真,否则为假
不同点在于
a && b(短路与)若a为假时,则无需判断b,直接得出结果 为假
a & b(逻辑与)若a为假时,则b仍需要判断
public class LogicOperate { public static void main(String[] args) { // && 与 &的区别 int a = 30; int b = 1; // && // a && b ,若a为假,则b无需判断 if( a > 40 && ++b == 2 ) { System.out.println("hello"); } System.out.println("a = " + a +",b = " + b); // b = 1 //& // a & b ,若a为假,则b仍需判断 if( a > 40 & ++b == 2) { System.out.println("world"); } System.out.println("a = " + a +",b = " + b); // b = 2 } }
注意这里使用 ++ b 作为调试的手法
由此可见,&&比&更快速地得到结果,所以在项目上尽量使用&&节约时间。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/99005.html