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
  • 相关阅读:
    iOS 模拟定位(自定义手机定位)
    iOS 关于启动app循环播放视频功能(常用于登录时)
    ios开发首次安装或者版本升级的引导页的判断
    字符串base64加密、解密
    ios/oc banner广告位---- 打开浏览器跳转链接
    oc 字符串 如何去掉前后空格、回车键
    swagger文档接口指定参数必传的方式
    打包运行报no main manifest attribute, in XXXX的解决办法
    @Query 报错Validation failed for query for method public abstract的解决办法
    两种获取随机字符串的方法
  • 原文地址:https://www.cnblogs.com/bigbigrain/p/5046267.html
Copyright © 2011-2022 走看看