我正在为Java考试做准备,阅读的是《OCA Java SE 8程序员学习指南(考试1Z0-808)》。在运算符部分,我发现了这句话:
移位运算符:移位运算符接受两个操作数,其类型必须可以转换为整数原始类型。
这让我感到奇怪,所以我用long类型进行了测试:
public class HelloWorld{
public static void main(String []args){
long test = 3147483647L;
System.out.println(test << 1);
}
}
它运行正常,没有编译器错误,结果也是正确的。这本书有错误吗?还是我误解了书中的引用?