为什么在Java中08不是一个有效的整数文字?

为什么在Java中08不是一个有效的整数文字?

为什么08被认为是超出范围的整数,但是07下面不是吗?



偶然的你
浏览 856回答 3
3回答

隔江千里

在Java和其他几种语言中,以0被解释为八进制(基数8)的数量。用于单数数字(不包括08和09,结果是相同的,因此您可能不会注意到它们被解释为八进制。但是,如果您用一个以上的有效数字来编写数字,您可能会对结果感到困惑。例如:010 ==  8024 == 20由于八进制文字通常不是您想要的,所以您应该始终注意不要以整数文字开头。0当然,除非你真的试图自己写零。

斯蒂芬大帝

任何以0为前缀的数字都被认为是八进制。八进制数字只能使用数字0-7,就像小数点可以使用0-9,二进制可以使用0-1.// octal to decimal01  // 102  // 207  // 7010 // 8020 // 16// octal to binary (excluding most significant bit)01  // 1 02  // 1007  // 111010 // 1000 020 // 10000有10种类型的人,懂三元的人,不懂的人,认为这是一个愚蠢的笑话的人。

GCT1015

从Java规范:八进制数字由ASCII数字0和一个或多个ASCII数字0到7组成,可以表示正整数、零整数或负整数。
打开App,查看更多内容
随时随地看视频慕课网APP