版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_34524528/article/details/88193258
Java 原始数据类型 long 的范围
64 bit 长整型,-263 ~ 263-1。官方文档如下:
Oracle Java Doc:Primitive Data Types
疑问? Eclipse 中,长整形的字面量报错
import java.util.Scanner;
public class Main {
static Scanner sc = new Scanner(System.in);
public static void main(String[] args) {
long ii =(long) Math.pow(2, 63);
long iiii= 9223372036854775807;//The literal 9223372036854775807 of type int is out of range
System.out.println(ii+","+iiii);
}
}
// 输出:
// 9223372036854775807,9223372036854775807
实际编译也会出错,如下图:
解决,long的字面量需要在后面加L(或l)
import java.util.Scanner;
public class Main {
static Scanner sc = new Scanner(System.in);
public static void main(String[] args) {
long ii =(long) Math.pow(2, 63);
long iiii= 9223372036854775807L;//加了以后就不报错了
System.out.println(ii+","+iiii);
}
}
参考: