zoukankan      html  css  js  c++  java
  • Java中布尔类型操作符&=,|=与^=的使用

    今天在对同事的代码进行code review的时候,见到一个比较好玩的写法。“flag &= false;”,乍一看,还感觉他写错了,但是程序可以正常运行,赶紧去百度,看一下这个写法到底是怎么一回事,原来这个与平时常见的-=,+=等等是一样的,只不过平时用的比较少而已了,这个还真的是一个提升屌丝情怀的利器,至少不能见到这种写法不知道是什么意思吧。

    代码如下:

    1. public class MainMethod {  
    2.     public static void main(String[] args) {  
    3.         boolean flag = true;  
    4.         flag &= true;  
    5.         System.out.println("true &= true ==> " + flag);  
    6.         flag = true;  
    7.         flag &= false;  
    8.         System.out.println("true &= false ==> " + flag);   
    9.         flag = false;  
    10.         flag &= true;  
    11.         System.out.println("false &= true ==> " + flag);   
    12.         flag = false;  
    13.         flag &= false;  
    14.         System.out.println("false &= false ==> " + flag+" ");   
    15.           
    16.         flag = true;  
    17.         flag |= true;  
    18.         System.out.println("true |= true ==> " + flag);  
    19.         flag = true;  
    20.         flag |= false;  
    21.         System.out.println("true |= false ==> " + flag);   
    22.         flag = false;  
    23.         flag |= true;  
    24.         System.out.println("false |= true ==> " + flag);   
    25.         flag = false;  
    26.         flag |= false;  
    27.         System.out.println("false |= false ==> " + flag+" ");   
    28.           
    29.         System.out.println("^=  相同为真,不同为假");  
    30.         flag = true;  
    31.         flag ^= true;  
    32.         System.out.println("true ^= true ==> " + flag);  
    33.         flag = true;  
    34.         flag ^= false;  
    35.         System.out.println("true ^= false ==> " + flag);   
    36.         flag = false;  
    37.         flag ^= true;  
    38.         System.out.println("false ^= true ==> " + flag);   
    39.         flag = false;  
    40.         flag ^= false;  
    41.         System.out.println("false ^= false ==> " + flag);   
    42.     }  
    43. }  
    执行结果如下:
     
    true    &=    true    ==>    true
    true    &=    false    ==>    false
    false    &=    true    ==>    false
    false    &=    false    ==>    false
     
    true    |=    true    ==>    true
    true    |=    false    ==>    true
    false    |=    true    ==>    true
    false    |=    false    ==>    false
     
    ^=  相同为真,不同为假
    true    ^=    true    ==>    false
    true    ^=    false    ==>    true
    false    ^=    true    ==>    true
    false    ^=    false    ==>    false
  • 相关阅读:
    编译 出错
    关于工程思维
    关于大屏拼接方案 触摸屏 红外 和 电容屏
    爱宝A-1180热转印条码打印机 打印乱码,对不齐的问题
    制作 企业微场景 邀请函
    《七年就是一辈子》 逻辑思维 互联网 得到
    Python妙用re.sub分析正则表达式匹配过程
    第11.25节 Python正则表达式编译re.compile及正则对象使用
    Python正则表达式书写容易碰到的陷阱:W*和W*?匹配过程遇到的问题
    Python正则表达式W+和W*匹配过程的深入分析
  • 原文地址:https://www.cnblogs.com/bigbigrain/p/5046267.html
Copyright © 2011-2022 走看看