首页 > Java > java教程 > 为什么 Java 将带前导零的整数文字解释为八进制?

为什么 Java 将带前导零的整数文字解释为八进制?

Barbara Streisand
发布: 2024-12-21 11:18:12
原创
901 人浏览过

Why Does Java Interpret Integer Literals with Leading Zeroes as Octal?

解释带前导零的整数文字

在 Java 中,带前导零的整数文字被解释为八进制(以 8 为基数)数字。这种行为可能会令人费解,尤其是与十进制(以 10 为基数)文字相比时。

考虑以下代码:

解释:

  • 0123 以前导零开头,表示八进制文字。要将八进制转换为十进制,请将每个数字乘以相应的 8 次方,然后将结果相加:

因此,0123 被解释为十进制的 83。

  • 123 没有前导零,因此它被解释为十进制文字,从而得到预期值123.

避免八进制解释:

为了避免意外的八进制解释,只需省略不打算表示八进制数字的整数文字中的前导零。

十六进制文字:

Java 还支持十六进制(以 16 为基数)文字,其前缀为 0x。例如:

在这种情况下,0x123 代表十六进制值 123,相当于十进制的 291。

以上是为什么 Java 将带前导零的整数文字解释为八进制?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板