• 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
  • 相关阅读:
    win7纯净环境下搭建深度学习环境:Python+TensorFlow+jupyter
    linux安全配置-将ssh服务隐藏于Internet(端口碰撞)
    S3C2440小板子-烧写笔记
    SecureCRT使用技巧
    Linux 下设置静态IP
    win7设置虚拟网卡以及如何设置静态IP
    第八章学习小结
    第七章学习小结
    第六章学习小结
    第五章学习小结
  • 原文地址:https://www.cnblogs.com/bigbigrain/p/5046267.html
Copyright © 2020-2023  润新知