Java 运算符

一、前言

对于Java运算符一直有点混淆,记录一下,有待更新补充…


二、正文

1、整除(/) 和求余(%)

(1)/(整除):意思就是被除数到底包含几个除数;可以这么记:也就是能被整除多少次

int i=4/2;//这里i=2,4被2刚好整除2次
int i=5/2;//这里i=2;5能被2整除2次

(2)%(求余):意思就是求被除数不除数整除后还余下多少;注意:余数的符号跟被除数符号相同,不管后面数

int i=5%2;//这里i=1;表示5被2整除2次还余1
int i=-5%2;//这里i=-1
int i=-5%(-2);//这里依然i=-1
int i=4%2;//这里i=0;就是4被2刚好整除2次,没有余数

2、逻辑运算符:与,或,非,异或

(1)&(与运算):进行运算的两个数据,按二进制位进行“与”运算; 即: 两位同时为“1”,结果才为“1”,否则为0

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


(2)|(或运算):进行运算的两个数据,按二进制位进行“或”运算;即 :参加运算的两个对象只要有一个为1,其值为1

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


(3)~(非运算):1取0,0取1

运算规则:~1 = 0, ~0 = 1 ~(10001) = 01110


(4) ^(异或运算):参加运算的两个数据,按二进制位进行“异或”运算;
即:参加运算的两个对象,如果两个相应位为“异”(值不同),则该位结果为1,否则为0

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


延伸:

交换两个变量的值(不借助第三个变量)
使用异或运算符:
例:a=6,b=5
核心代码:
a = a ^ b;
b = a ^ b;
a = a ^ b;

m & 0x1 判断m二进制的最后一位是否为1
m & 0x2 判断m二进制的倒数第二位是否为1
m & 0x4 判断m二进制的倒数第三位是否为1
m & 0x8 判断m二进制的倒数第四位是否为1


三、总结

与、或、非都可以看作二进制基本操作,同或、异或次之,+ - * ÷ % 等又都是基于前面的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值