在时代发展日新月异的今天,人们对于新兴技术展现出了极大的热情,学会一门新技术也是迫在眉睫的任务。今天主要为大家介绍一下java移位运算符包括哪几类,以及通过一个实例代码来展示。
首先,为大家简述一下,移位运算符主要包括:1.左移位运算符(<<)、2.右移位运算符(>>>)、3.带符号的右移位运算符(>>)。移位运算符操作的对象是二进制的位,可以单独用移位运算符来处理int型整数。通过一个表格为大家整体描述一下:
第一种是左移运算符, 左移运算符用“<<”表示,是将运算符左边的对象,向左移动运算符右边指定的位数,并且在低位补零。其实,向左移n位,就相当于乘上2的n次方,如下所示:
public class test { public static void main(String[] args) { int a = 2, b = 2, c; c = a << b; System.out.print("a 移位的结果是" + c); } } 输出结果: 8
通过分析上面的代码我们可以发现,2的二进制是00000010,它向左移动2位,就变成了00001000,即8。如果从另一个角度来分析,它向左移动2位,其实就是乘上2的2次方,结果还是8。
第二种是无符号右移运算符,右移运算符无符号用“>>>”表示,是将运算符左边的对象向右移动运算符右边指定的位数,并且在高位补0,其实右移n位,就相当于除上2的n次方。代码如下:
public class test { public static void main(String[] args) { int a = 16; int b = 2; System.out.println("a 移位的结果是" + (a >>> b)); } } 输出结果: 4
通过分析上面代码可以发现,16的二进制是00010000,它向右移动2位,就变成了00000100,即4。如果从另一个角度来分析,它向右移动2位,其实就是除以2的2次方,结果还是4。
第三种是带符号的右移运算符,带符号右移运算符用“>>”表示,是将运算符左边的运算对象,向右移动运算符右边指定的位数。如果是正数,在高位补零,如果是负数,则在高位补1。代码如下所示:
public class test { public static void main(String[] args) { int a = 16; int c = -16; int b = 2; int d = 2; System.out.println("a 的移位结果:" + (a >> b)); System.out.println("c 的移位结果:" + (c >> d)); } } 输出结果: 4 和 - 4
通过分析上面的代码可以发现,a的值是16转换成二进制是00010000,让它右移两位成00000100即4,c的值是-16转换成二进制是11101111,让它右移一位成11111011即-4。
以上就是关于java移位运算符的分类以及实例展示的相关内容。想要了解更多java经典例子,敬请关注奇Q工具网。
推荐阅读: