Java专题 基础篇 位移运算符<< ,>> 使用案例(更快的运算速度)

位移运算符案例

优点:比一般的运算快很多

// 要计算的整数例子
int integerNumber = 10;

		// 注意,位移运算符的对象只能是整数,结果当然也是整数
		
		// 将这个整数左移一位 可以得到这个数翻倍的结果  这里的 1 就是要移动的结果
		System.out.println(integerNumber << 1);
		
		// 左移两位 数值翻两倍
		System.out.println(integerNumber << 2);
		
		// 右移一位,缩小一半  想缩小四分之一把 1 换成 2就可以
		System.out.println(integerNumber >> 1);
		
		//无符号右移一位 缩小一半,正数会得到对应的结果,负数的话结果会变为正数
		System.out.println(integerNumber >>> 1);
		

对应结果

20
40
5
5

反过来当为负数时结果为

-20
-40
-5
2147483643

若要赋值运算可以这样写,其实和 + - * / 是一样的

int x = 50 ;

x <<= 1;
// 其实效果就是下面这样   结果为x翻一倍的值
x = x << 1
// 与一般的运算可以一样理解  例如:
x += 2
x *= 2
// 也就是
x = x + 2
x = x * 2

需要注意的是位移运算符的运算优先级并不比 + - 高,所以会出现如下结果

System.out.println(10 + 16 >> 1);
System.out.println(10 + (16 >> 1));

结果如下:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值