详述:Java逻辑运算符与位运算

Java逻辑运算符

Java中逻辑运算符总共有分为三种“&&”,“ll”,“!”

运算符 描述
&& 此为逻辑运算符,只有当给定的两个条件都为真时,返回结果为true,否则都为false
此为逻辑非运算符,用来反转操作的true或者false,如果条件为true,则用逻辑非!则会的到false
ll 此为逻辑或运算符,如果在给定的条件中只要满足其中一个或多个为真,则结果返回true
  • 比如我们来举一些例子来具体看看他们的用法(我们用一些简单代码具体帮助读者来理解逻辑运算符的用法)

&&逻辑运算符
例:

int a = 10int b = 12int c = 25;
System.out.println(b>a&&c>a,a>b&&c>a,a>b&&a>c);
System.out.println(a>b&&c>a);
System.out.println(a>b&&a>c);
//比较三者的真假性
//答案时true,false,false;

||逻辑或运算符
例:

int a =10int b =12;
int c =25;
System.out.println(a>b||b>c);
System.out.println(b>a||c>a);
System.out.println(a>b||c>a);
//再次比较三者的真假性
//答案为false,true,true

!逻辑非运算符
例:

int a = 10int b = 15;
System.out.println(!(a>b));
//因为a>b为假,但是结果!了一次,所以最终结果为true

Java位运算

在Java中,一共包含了七种运算符,位运算符是将数据先转化为二进制补码形式,在逐位按规则运算。

这里我们简单阐述一下补码的计算方式

  1. 正数:源码,反码,补码相同
  2. 负数:补码=反码(符号位保持不变)+1
    (例如:-23的源码就是1001 0111 将它取反(符号位不变)就为1110 1000,则它的补码就在反码的基础上+1,则补码为1110 1001)
位运算符 阐述
& 与运算符,全1为1,否则为0
l 或运算符,全0则0,否则为1
^ 异或运算符,相同为0,不同为1
~ 非运算符 ,遇1则0,遇0则1

按位运算符的作用

  1. “按位与”可以将指定的存储单元中的数清零,也可以将指定的二进制位变为0。需要清零的时,选择一个合适的正数,其相应位上的数满足对要清零的数的要求。例:我们要将0001 1010 将其清零,我们可以选泽0000 0101将其清零。
  2. “按位与”可以截取一个整数的某些指定位。(跟1原理相同)

按位运算符的作用
—“按位或”运算可以将一个整数的某些特定位置换为1。

按位异或运算符的作用

  1. “按位异或”可以使某些特定的位为1,其他位为0。
  2. 与0相^,得到原值。
  3. 不借用中间变量,直接交换两个值。
int num1 = 5;
int num2 = 6;
num1 = num1 ^ num2;
num2 = num2 ^ num1;
num1 = num1 ^ num1;

在eclipse中输入简单代码如下:
在这里插入图片描述输出结果如下:

在这里插入图片描述
按位取反就很简单了,不做过多介绍,简单说一下,优先级高于其他三个。

扫描二维码关注公众号,回复: 9501199 查看本文章
发布了11 篇原创文章 · 获赞 14 · 访问量 294

猜你喜欢

转载自blog.csdn.net/ArcsinTao/article/details/102992879
今日推荐