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

&与&&的区别

作者: 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