java逻辑运算&&与&的区别
2024-09-08 16:39:09
本文主要阐述&&(短路与)和&(逻辑与)的运算异同:
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 作为调试的手法
由此可见,&&比&更快速地得到结果,所以在项目上尽量使用&&节约时间。
最新文章
- Linux 入门之网络配置
- JS客户端判断
- Eclipse环境下配置spket中ExtJS5.0提示
- IOS-Swift、Objective-C、C++混合编程
- 简述WebService的使用(二)
- Ubuntu 14.10 下卸载MySQL
- Oracle 10G 安装后 不能卸载, 不能打开Web管理....
- 《WPF程序设计指南》读书笔记——第9章 路由输入事件
- Visual C++ 打印编程技术-编程基础
- sublime常用快捷键整理(未完待续)
- Address already in use: JVM_Bind <;null>;:8080
- 快速构建Windows 8风格应用13-SearchContract构建
- mybatis中mapping文件like查询方式
- requireJS(版本是2.1.15)学习教程(一)
- JSP编译成Servlet(一)语法树的生成——语法解析
- ABP之什么是ABP(ASP.NET Boilerplate)
- MySQL 之 MHA + ProxySQL + keepalived 实现读写分离,高可用(一)
- 如何快速安装visual studio 2017和破解
- [Jsoi2015]染色问题
- CSS:元素类型