java逻辑运算&&与&的区别
本文主要阐述&&(短路与)和&(逻辑与)的运算异同:
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 作为调试的手法
由此可见,&&比&更快速地得到结果,所以在项目上尽量使用&&节约时间。
java逻辑运算&&与&的区别的更多相关文章
- java.lang.ClassNotFoundException与java.lang.NoClassDefFoundError的区别
		java.lang.ClassNotFoundException与java.lang.NoClassDefFoundError的区别 以前一直没有注意过这个问题,前两天机缘巧合上网查了一下,然后自 ... 
- java 和javaw 的区别——<转>
		java 和javaw 的区别 javaw.exe用法和java.exe 相同 javaw的程序不在java console 上面显示任何东西,如果在开发程序,就用java,这样可以看到错误提示, 如 ... 
- java与javac的区别
		1.前提:java分为两部分 一个是编译(javac命令),一个是运行(java命令) 2.java与javac的区别 javac负责的是编译,将.java文件编译成.class文件,当执行javac ... 
- Java中equal和==区别及String创建过程
		Java中equal和==区别 1.起因 在一段Java代码中,使用了两种实现方式. //第一种命令行输入 int main (String[] args) { if(args[0] == " ... 
- Objective-C与Java类的一些区别
		Objective-C与Java类的一些区别 OC类和C一样,需要有声明和定义,先上一段OC代码 #import <Foundation/Foundation.h> /* * 声明一个Pe ... 
- java与javax的区别分析(转)
		Java是一种受C语言影响的编程语言.Java和Javax本质上是与Java编程语言的上下文一起使用的包.实际上Java和Javax没有区别.这只是不同的名字. Java是一种编程语言,受到C语言的影 ... 
- JAVA线程和进程区别
		1,JAVA线程和进程区别? (1)简单来讲一个运行的程序就是一个进程,一个进程中可以有多个线程(线程是程序执行的最小单元). (2)线程有四种状态:运行,就绪,挂起,结束 (3)使用多线程的好处 使 ... 
- Java HSSFworkbook,XSSFworkbook,SXSSFworkbook区别简述
		Java HSSFworkbook,XSSFworkbook,SXSSFworkbook区别简述 一.HSSFworkbook,XSSFworkbook,SXSSFworkbook区别简述 用Java ... 
- Dalvik VM (DVM) 与Java VM (JVM) 的区别?
		Dalvik虚拟机存在于Android系统,JVM是java虚拟机,两者都是虚拟机,本文就对两者进行比较,讲述它们的不同. Dalvik虚拟机是Google等厂商合作开发的Android移动设备平台的 ... 
- Java 中>>和>>>的区别
		Java 中>>和>>>的区别 Java中的位运算符: >>表示右移,如果该数为正,则高位补0,若为负数,则高位补1: >>>表示无符号右移 ... 
随机推荐
- 工作7年收集到的git命令
			概念 git 中的术语解释: 仓库也叫版本库(repository) stage:暂存区,add 后会存到暂存区,commit 后提交到版本库 git 安装 linux 下安装 git 第一种方法:y ... 
- Maximum Entropy Population-Based Training for Zero-Shot Human-AI Coordination
			原文:https://www.cnblogs.com/Twobox/p/16791412.html 熵 熵:表述一个概率分布的不确定性.例如一个不倒翁和一个魔方抛到地上,看他们平稳后状态.很明显,魔方 ... 
- Stanford CoreNLP无法生成实例对象
			在服务器上运行Stanford,今日无法启动"StanfordCoreNLP"了,就是运行下面代码一直在运行,不结束,不报错. from stanfordcorenlp impor ... 
- 齐博x1会员中心如何加标签
			点击查看大图 轻松几步,你可以做会员中心的界面 这是调用文章的 代码如下:会员中心的标签跟前台使用方法是一模一样的, 关键之处就是多了一项动态参数 union="uid" 在以往, ... 
- 齐博软件 著名的老牌CMS开源系统 X1.0基于thinkphp开发的高性能免费开源PHP开放平台齐博x1.0基于thinkphp框架开发的高性能免费开源系统 主推圈子 论坛 预定拼团分销商城模块
			齐博X1--标签变量大全 1.网站名称: {$webdb.webname} 2.网址: {$webdb[www_url]} {:get_url('home')} 3.网站SEO关键词: 首页:{$we ... 
- flutter系列之:永远不用担心组件溢出的Wrap
			目录 简介 Row和Column的困境 Wrap组件详解 总结 简介 我们在flutter中使用能够包含多个child的widget的时候,经常会遇到超出边界范围的情况,尤其是在Column和Row的 ... 
- python3使用mutagen进行音频元数据处理
			python版本:python 3.9 mutagen版本:1.46.0 mutagen是一个处理音频元数据的python模块,支持多种音频格式,是一个纯粹的python库,仅依赖python标准 ... 
- element-ui   v-table 复选框默认选中
			<el-table ref="refTable" :data="list" v-loading="listLoading" eleme ... 
- uniapp之uni-starter小程序多端研发框架搭建与项目实践
			随着移动互联网的飞速发展,无数移动APP琳琅满目:在移动App的发展的基础上,衍生了小程序.轻应用技术,它随时可用,但又无需安装卸载.小程序是一种不需要下载安装即可使用的应用,它实现了应用" ... 
- 用 vue3 中的 reduce(累加器) 随机生成100个字母,放入数组中,统计每个字母出现的次数
			一.首先不用 reduce() 来实现 代码如下: <template lang=""> <div> <h1>统计每个字母出现的次数,不使用r ... 
