本文主要阐述&&(短路与)和&(逻辑与)的运算异同:
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 作为调试的手法

由此可见,&&比&更快速地得到结果,所以在项目上尽量使用&&节约时间。

最新文章

  1. Linux 入门之网络配置
  2. JS客户端判断
  3. Eclipse环境下配置spket中ExtJS5.0提示
  4. IOS-Swift、Objective-C、C++混合编程
  5. 简述WebService的使用(二)
  6. Ubuntu 14.10 下卸载MySQL
  7. Oracle 10G 安装后 不能卸载, 不能打开Web管理....
  8. 《WPF程序设计指南》读书笔记——第9章 路由输入事件
  9. Visual C++ 打印编程技术-编程基础
  10. sublime常用快捷键整理(未完待续)
  11. Address already in use: JVM_Bind <null>:8080
  12. 快速构建Windows 8风格应用13-SearchContract构建
  13. mybatis中mapping文件like查询方式
  14. requireJS(版本是2.1.15)学习教程(一)
  15. JSP编译成Servlet(一)语法树的生成——语法解析
  16. ABP之什么是ABP(ASP.NET Boilerplate)
  17. MySQL 之 MHA + ProxySQL + keepalived 实现读写分离,高可用(一)
  18. 如何快速安装visual studio 2017和破解
  19. [Jsoi2015]染色问题
  20. CSS:元素类型

热门文章

  1. 请求库之requests库
  2. [题解] Atcoder Beginner Contest ABC 265 Ex No-capture Lance Game DP,二维FFT
  3. 后端框架的学习----mybatis框架(6、日志)
  4. python不确定性计算之粗糙集属性约简
  5. LcdToos设置“自动播放”和“上电自动开机”的作用
  6. 2.Python封装练习及私有属性
  7. PCA降维的原理及实现
  8. centos7离线安装PHP7
  9. 修改Oracle共享池大小
  10. 什么是CLR?