逻辑运算‘|‘,‘||‘、‘&‘、‘&&‘

我们平时在开发中,经常会用到逻辑运算符。但就开发效率而言正确的用好逻辑运算符也很重要

虽然事情很小,但有时稍微不注意也会翻车。

‘|’ 或 

特点:两边有一个为true时则为true,两边都为false时才为false

true|true = true

true|false = true

false|true = true

false|false = false

'||' 或

特点:两边有一个为true时则为true,两边都为false时才为false

true|true = true

true|false = true

false|true = true

false|false = false

不同点:'|'当左边满足时,依然会运算右边的,'||'当左边满足时,就不进行右边的运算。效率会高一点。

验证‘|’:

    @Test
    public void test7() throws ParseException {
        String str1 = null;
        String str2 = "1";
        if(str2.equals(String.valueOf(1)) | str1.equals(String.valueOf(1))){
            System.out.println("***正确输出****");
        }
    }

结果:

 验证‘||’;

    @Test
    public void test7() throws ParseException {
        String str1 = null;
        String str2 = "1";
        if(str2.equals(String.valueOf(1)) || str1.equals(String.valueOf(1))){
            System.out.println("***正确输出****");
        }
    }

输出结果:

 '&' 与

特点:当两边都为true时才为true,有一边为false就为false

true|true = true

true|false = false

false|true = false

false|false = false

'&&' 与

特点:当两边都为true时才为true,有一边为false就为false

true|true = true

true|false = false

false|true = false

false|false = false

不同点:'&' 当左边为false时依然进行右边的运算,‘&&’当左边为false就直接短路,不再进行右边的运算

验证'&' 当左边为false时依然会进行右边的运算

    @Test
    public void test7() {
        String str1 = null;
        String str2 = "1";
        if(str2.equals(String.valueOf(2)) & str1.equals(String.valueOf(1))){
            System.out.println("***正确输出****");
        }
    }

结果:

 验证'&&':当左边为false时就不在进行右边的运算

    @Test
    public void test7(){
        String str1 = null;
        String str2 = "1";
        if(str2.equals(String.valueOf(2)) && str1.equals(String.valueOf(1))){
            System.out.println("***正确输出****");
        }else {
            System.out.println("***不在运算****");
        }
    }

结果:

 总结:我们要先将容易判断出结果的判断放在左边,这样可以提高开发效率。

posted @ 2021-12-04 18:29  小猪不会叫  阅读(902)  评论(0)    收藏  举报  来源