首页 > 编程语言 >java逻辑运算&&与&的区别

java逻辑运算&&与&的区别

时间:2022-11-11 13:58:13浏览次数:46  
标签:逻辑运算 java ++ System && println out

本文主要阐述&&(短路与)和&(逻辑与)的运算异同:
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,++,System,&&,println,out
From: https://www.cnblogs.com/zwgitOne123/p/16880254.html

相关文章

  • [JavaScript-10]this指向
    1.默认绑定//全局环境指向windowconsole.log(this);//函数独立调用,函数内部this指向windowfunctionfn(){console.log(this);}fn();//函数当做对象方法......
  • Java--static 关键字小研究
    一、用static修饰的静态代码块:classDemo{{System.out.println("1、构造块。");}static{System.out.println("0、静态代码块。");}publicDemo(){Sys......
  • 蛋疼的Caused by: java.lang.ClassNotFoundException
    开发中最长遇到的错误提示,遇到这种错误提示,一般可能有:1.忘记在AndroidManifest中配置,这个很好解决,在里面配置一下就行了。2.更常见的问题是在引入外包时出现这个问题,怎么解......
  • Android实战--小DEMO(JAVA关键字学习)一
    学习技术最好的方式就是实战,看书看不到的东西太多了,实际操作时会碰到各种书本里提不到的问题,解决这些问题会迅速提升你的能力,你是一个solider,最好成长的方式就是实战。下面......
  • 【Java】guava(六)函数式编程与惰性求值
    举个例子,比如我们的web服务器应用,我们可能会写一个类似拦截器一样的模块来提前把一些公共参数抽取出来,比如像token,userid,ip地址等等这样的信息,放入一个类似ThreadLocal的对......
  • 【Java】okHttp3 简单使用
    之前用的RestTemplate,发现一个multipart的http请求始终发不成功,后面就试了下okHttp,发现真的好用,api太清爽了,记录一下使用:packagecom.liyao;importjava.io.FileInputStream......
  • 【Grpc(一)】Java 何如理解StreamObserver?
    刚开始接触Grpc时,桩代码里有许多StreamObserver类型,不太清楚是怎么用的,这里做一个记录。首先看下StreamObserver接口定义:publicinterfaceStreamObserver<V>{voidon......
  • 【Java】随机数原理 Random ThreadLocalRandom
    大致生成原理:随机数由seed经过一定的转换生成。需要提供初始seed。每一次生成随机数时,先由老seed生成新seed,再根据新seed生成新的随机数。由于算法是固定的,所以如果初始seed......
  • 【docker】Java应用 容器内存管理 -XX:+UseContainerSupport
    早期时候,容器内运行Java应用程序时,Jvm无法感知容器环境存在,所以对容器资源的限制比如内存或者cpu等都无法生效。原因是容器的资源管理使用了操作系统cgroup机制,但是Jvm无法......
  • 【Java】Instrumentation热更新 premain agentmain
    有两种办法:1)在java5中,可以利用jvm加载类的一个扩展点来实现类文件的动态修改。需要提供一个premain方法。缺点是只能在类文件加载且main方法执行之前修改,无法实现真正的运行......