在java中初始化0588235294117647值

har*_*ahr 1 java

当我得到一个输入为长数据类型时,编译器不接受以下数字

0588235294117647
Run Code Online (Sandbox Code Playgroud)

但是如果我将零置于第一个位置以外的位置,则执行它.

如何声明以零开头的长号码?

我的意见

0588235294117647L------->Error
Run Code Online (Sandbox Code Playgroud)

改变之后

5088235294117647L------->No Error
Run Code Online (Sandbox Code Playgroud)

小智 7

前导零告诉编译器它是八进制常量,它不接受大于7的数字.

这与long数据类型无关,long数据类型只指定整数的大小,而不是常量的格式.

省略前导零,这将起作用.