java程序的运行需要将java文件进行编译,编译成class文件,才能运行。那么java中的<<左移运算符号,要怎么理解呢?
public class Test {
public static void main(String[] args) {
System.out.println(1<<1);
System.out.println(1<<2);
System.out.println(1<<3);
}
}
输出结果为:
2
4
8
看起来很不直观,我们并不知道它是怎么得到这些数值的。
那么已知,java编译要将文件转为二进制字节码,而<<是左移运算。那么把数字转换为二进制,再来理解就容易多了。
1 二进制: 1
向左移 1位 二进制: 10 转换为 10 进制 的值为 2
向左移 2位 二进制: 100 转换为 10 进制 的值为 4
向左移 3位 二进制: 1000 转换为 10 进制的值为 8
这样理解就一目了然了。
>> ,>>> 同理。