详解java逻辑运算符、位运算符(面试必看)

一、逻辑运算符

运算符含义
&逻辑与,运算符左右两边都要执行
&&逻辑与,左边为false,右边不用执行
|逻辑或,左边为true,右边也要执行
| |逻辑或,左边为true,右边不用执行

例子:

&

在这里插入图片描述

&&

在这里插入图片描述

|

在这里插入图片描述

||

在这里插入图片描述

二、位运算符

位运算符主要针对二进制,逻辑运算符是针对两个关系运算符来进行逻辑运算

运算符含义
&与运算符
|或运算符
^异或运算符
~非运算符

例子: int a=3; int b=5;

1、a & b

&运算规则:0&0=0; 0&1=0; 1&0=0; 1&1=1;

a 的二进制是:0011
b 的二进制是:0101

根据 & 运算规则得出:
a二进制第一位和b二进制第一位对比,0 & 0=0;
a二进制第二位和b二进制第二位对比,0 & 1=0;
a二进制第三位和b二进制第三位对比,1 & 0=0;
a二进制第四位和b二进制第四位对比,1 & 1=1;

得出0001,将0001(二进制)转为十进制得出1,a & b =1

2、a | b

| 运算规则:0|0=0; 0|1=1; 1|0=1; 1|1=1

a 的二进制是:0011
b 的二进制是:0101

根据 | 运算规则得出:
a二进制第一位和b二进制第一位对比,0 | 0=0;
a二进制第二位和b二进制第二位对比,0 | 1=1;
a二进制第三位和b二进制第三位对比,1 | 0=1;
a二进制第四位和b二进制第四位对比,1 | 1=1;

得出0111,将0111(二进制)转为十进制得出7,a | b =7

3、a ^ b

^ 运算规则:两个数据相同为0,两个数据不同为1

a 的二进制是:0011
b 的二进制是:0101

根据 ^ 运算规则得出:
a二进制第一位和b二进制第一位对比,0 ^ 0=0;
a二进制第二位和b二进制第二位对比,0 ^ 1=1;
a二进制第三位和b二进制第三位对比,1 ^ 0=1;
a二进制第四位和b二进制第四位对比,1 ^ 1=0;

得出0110,将0110(二进制)转为十进制得出6,a ^ b =6

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值