美文网首页
&与&&的区别

&与&&的区别

作者: Hammy | 来源:发表于2018-01-30 15:03 被阅读0次
  • &的作用有两个

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

  • 两者虽然都是表达式两边都为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(""),这样就不会产生空指针异常.
我们在很多应用场景都需要用&&,而且前后顺序不能替换.

相关文章

网友评论

      本文标题:&与&&的区别

      本文链接:https://www.haomeiwen.com/subject/nrrczxtx.html