zoukankan      html  css  js  c++  java
  • java | (按位或) & (按位与) || (逻辑或) && (逻辑与) ^(异或) ⊙ (同或) 区别以及理解

    以下所有的举例都以十进制5 和 3  转成二进制如下 , 

    5 :0101

    3 :  0011

      按位或(|):

      按照位置同为假(0) 则是假(0) ;其中一个为真(1)则为真(1)。

      5 | 3 ==》0101 | 0011 ==》0111 ===》(十进制)7

     按位执行步骤:

         0 |  0= 0;  

         1 | 0 = 1;   

         0 | 1= 1;    

         1 | 1 = 1;        

    结果:0111

      按位与(&):

      按照位置 同为真(1)则是真(1);否则 一真一假 或者都为假 则是假(0); 

      5 | 3 ==》0101 | 0011 ==》0111 ===》(十进制)1

     按位执行步骤: 

           0  &  0= 0;   

         1 & 0= 0;    

         0 & 1= 0;    

         1 & 1= 1;        

    结果:0001

      

     同或 (⊙ ):

      5 ⊙  3:  按位操作,不相同则位真(1),相同则为假

      5 ⊙  3 ==》0101 ^ 0011 ==》0110 ===》(十进制)9

    按位执行步骤:

         0  ⊙   0= 1;   

         1  ⊙   0= 0;    

         0  ⊙ 1= 0;    

         1  ⊙ 1= 1 ;        

     结果:1001

     异或 (^):

      5 ^ 3:  按位操作,不相同则位真(1),相同则为假

      5 ^ 3 ==》0101 ^ 0011 ==》0110 ===》(十进制)6

    按位执行步骤:

         0  ^   0= 0;   

         1  ^  0= 1;    

         0  ^  1= 1;    

         1 ^  1= 0;        

     结果:0110

         

      逻辑或(||): 

      a|| b

     a 或 b 任何一个条件为真则为真,否则都为假

      if( a || b  ){

      return 1;     // 条件  1 : a=true , b=false;   2 : a=false, b=true;  3 : a=true,b=true; 

        }

      

      逻辑或(&&): 当第一个为 false 则第二个不用判断,当第一个为true 第二个还要判断

      a && b

     a 或 b 任何一个条件为真则为真,否则都为假

      if( a && b  ){

      return 1;     // 条件  1 : a=true, b=true;  

        }

  • 相关阅读:
    Java1.0-1.11各个版本的新特性
    Java在ServletContextListener、过滤器、拦截器解决对象无法注入问题
    实验七 Web应用测试
    第四次作业
    实验5
    实验4
    实验3
    把一个英语句子中的单词次序颠倒后输出。例如输入“how are you”,输出“you are how”;
    1. java.lang.AbstractMethodError: org.mybatis.spring.transaction.SpringManagedTransaction.getTimeout()Ljava/lang/Integer;报错问题
    在eclipse中新建maven项目 js,css路径失效问题
  • 原文地址:https://www.cnblogs.com/blogxiao/p/13729411.html
Copyright © 2011-2022 走看看