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
  • 相关阅读:
    第二章Redis管理实战
    第一章Redis入门部署及持久化介绍
    数据库命令
    第一章MySQL介绍及安装
    第十一章 MHA高可用及读写分离
    第八章 日志管理
    第九章 备份和恢复
    第十章 主从复制
    关系型数据库和非关系型数据库的对比
    MySQL面试题
  • 原文地址:https://www.cnblogs.com/bigbigrain/p/5046267.html
Copyright © 2011-2022 走看看