码迷,mamicode.com
首页 > 编程语言 > 详细

java之逻辑运算符

时间:2019-12-13 17:51:42      阅读:26      评论:0      收藏:0      [点我收藏+]

标签:注意   不可   表达式   逻辑或   center   需要   enter   计算   不同   

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

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之逻辑运算符

标签:注意   不可   表达式   逻辑或   center   需要   enter   计算   不同   

原文地址:https://www.cnblogs.com/xiximayou/p/12036484.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有 京ICP备13008772号-2
迷上了代码!