java之逻辑运算符

Posted 西西嘛呦

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java之逻辑运算符相关的知识,希望对你有一定的参考价值。

&-逻辑与    |-逻辑或    !-逻辑非    &&-短路与    ||-短路或    ^-逻辑异或

a b a&b a|b !a a^b a&&b a||b
T T T T N N T T
T N N T N T N T
N T N T T T N T
N N N N T N N N

逻辑运算符需要注意的几点:

  • java中没有连续型布尔表达式,即不可以写成3<x<6,而要写成x>3&x<6;
  • “&”和"&&"的区别:
    &:左边无论真假,右边都进行运算;
    &&:当左边为真时,右边参与运算;当左边为假时,右边不参与运算;
    public class Test{
        public static void main(String[] args) {
            int a = 1;
            int b = 2;
            if (a == b && test()){
                System.out.println("world");
            }
        }
        
        public static boolean test() {
            System.out.println("hello");
            return false;
        }
    }

    由于a==b为假,所以右边不参与计算,最后什么都不会输出。

    public class Test{
        public static void main(String[] args) {
            int a = 1;
            int b = 2;
            if (a < b && test()){
                System.out.println("world");
            }
        }
        
        public static boolean test() {
            System.out.println("hello");
            return false;
        }
    }

    由于a<b为真,此时右边参与运算,但是右边结果为false,所以整个判断表达式为false,即不会运行到if里面,所以会输出只会hello。

    public class Test{
        public static void main(String[] args) {
            int a = 1;
            int b = 2;
            if (a == b && test()){
                System.out.println("world");
            }
        }
        
        public static boolean test() {
            System.out.println("hello");
            return false;
        }
    }

    由于a<b为真,此时右边参与运算,右边结果也为true,所以整个判断表达式为true,会运行到if里面,所以会输出只会hello wrold。

  • “|”和"||"的区别:
    |:左边无论真假,右边都进行运算;
    ||:当左边为真时,右边参与运算;当左边为假时,右边不参与运算;
  • "^"异或直接理解就是相同则返回false,不同就返回true;

以上是关于java之逻辑运算符的主要内容,如果未能解决你的问题,请参考以下文章

Java 基础 之 逻辑运算

java笔记5之逻辑运算符以及&&与&的区别

从零学Java(15)之逻辑运算符02

Java初学者之变量及运算

java笔记2之算术运算符

java学习之路之javaSE基础2