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

版权声明:本文为weixin_44131922原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。