&与&&的区别

  • &的作用有两个

    • 第一个是按位与
    • 第二个是逻辑与
  • &&的作用是短路的逻辑运算与

  • 两者虽然都是表达式两边都为true整体才为true或false,但是区别还是蛮大的
    &&之所以称为短路逻辑运算是因为如果表达式左边的为false,那么右边的它不会在运行.所以我们更常使用&&.
    举栗子:

 public void test1 (String x)
    {
        if (x != null & !x.equals(""))
            System.out.println(x);
    }

    public void test2 (String x)
    {
        if (x != null && x.equals(""))
            System.out.println(x);
    }
//test1输出结果Exception in thread "main" java.lang.NullPointerException
//test2输出结果没有异常发生

所以我们x本身如果是null的用&&就不会在equlas(""),这样就不会产生空指针异常.
我们在很多应用场景都需要用&&,而且前后顺序不能替换.

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 4,221评论 0 13
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,067评论 19 139
  • [Java中,&&与&,||与|的区别] 在Java的逻辑运算符中,有这么四类:&&(短路与),&,|,||(短路...
    南城的人阅读 4,220评论 0 2
  • 插值字符串中写在括号中的表达式不能包含非转义反斜杠(),并且不能包含回车,不过,插值字符串可以包含其他字面量 Sw...
    蒋昉霖阅读 101评论 0 0
  • 别人说越长大越孤单,无可否认是的,而且这是每个人都必须经历的。人就是越长大心里话就越没处说,心事都得藏着。在学...
    人未鴦阅读 256评论 2 3