zoukankan      html  css  js  c++  java
  • 13.java逻辑运算符

    逻辑运算符

    什么是逻辑运算符?连接比较运算符的符号称之为逻辑运算符。那么为什么要连接比较运算符? 举例:当你去公司应聘,招聘要求,男性(判断为真),并且开发经验1年(判断为假)那么,我们还适合去面试吗,不能,因为只满足了一项,总体是不满足的(总体结果为假)。

    逻辑运算符用于对boolean型结果的表达式进行运算,运算的结果都是boolean型。我们的比较运算符只能进行一次判断,对于对此判断无能为力,那么逻辑运算符就可以经将较运算符连接起来。

    逻辑运算符用于连接布尔型表达式,在Java中不可以写成3<x<6,应该写成x>3 & x<6 。

    “&”和“&&”的区别:单与时,左边无论真假,右边都进行运算;双与时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。

    “|”和“||”的区别同理,双或时,左边为真右边不参与运算。

    “ ^ ”异或与“|”或的不同之处是:当左右都为true时,结果为false。

    & 与   | 或   ^ 异或 ! 非

    1&

      true & true = true ;
      false & true= false;
      true & false = false;
      false & false= false;

    总结 & 符号特点

    & : 只要两边的boolean 表达式结果,有一个false.那么结果就是false

    只有两边都为true ,将结果为true.

    2|

    true   |  true   =true;
     ture   |  false =true;
     false  |  true  =true;
     false  |  false =flase;

    总结 | : 两边只要有一个为真结果就为真,当两边同为假时结果才为假.

    3异或

      true  ^  true =false;
      ture  ^  false =true;
      false  ^  true= true;
      false  ^  false=flase;

    : 两边相同结果是false

    两边不同结果是true;

    4!

    true = falsefalse= true

    5&&  短路

    研究发现,&运算只有两边全为真的时候,结果才为真,那么当左边为假的时候就没有必要在进行判断,&&就产生了。

    int a =4;

    a >3 && a< 6;

    a >3 & a< 6 ;

    在这种情况下世没有区别的

    如果:

    a =2

    a >3 & a< 6    2大于 3 为假, 接着运算 2 小于6 为真,总的结果为假

    a >3 && a< 6;   此时a 不大于3 结果为false 右边不运算了.即短路.所以&& 比& 效率稍微高了一点.

    public static void main(String[] args) {
            int x = 0;
            int y = 1;
            if (x == 0 && y == 1) {
                System.out.println(x + y);
            }
        }

     

    author@nohert
  • 相关阅读:
    Device Application Binding Manager---绑定管理
    Compile Options--编译选项
    [转] FPGA资料常用网站下载
    HAL层简介
    HAL层三类函数及其作用
    有关zstack的osal机制的理解
    bind与command---绑定之命令理解
    bind与command---绑定之命令理解-1
    zstack中事件加入到任务的方式
    Java常见错误列表
  • 原文地址:https://www.cnblogs.com/gzgBlog/p/13572962.html
Copyright © 2011-2022 走看看