java - 带前导零的 Int - 意外结果

标签 java

给定以下示例:

public class Main {
    public static void main(String[] args) {
        System.out.println(1234);
        System.out.println(01234);
    }
}

输出是:

1234
668

为什么?

最佳答案

这是因为带前导零的整数文字是八进制整数(以 8 为底):

1 * 8^3 + 2 * 8^2 + 3 * 8 + 4 = 668

关于java - 带前导零的 Int - 意外结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8254077/

相关文章:

java - 如何调用只有 2 个参数的 3 个参数的函数?

Java:Selenium Grid:如何在特定节点上运行特定测试

c# - 尝试...在释放资源时最终捕获内部?

java - 更新 Activity 不起作用......

java - 如何在Spring boot 2.0中实现CrudRepository的自定义方法?

java - 将时区添加到打印格式的 ZonedDateTime

java - 为我的项目建议一个 Maven 存储库管理器

java - JAR 文件逐渐增大用户文件夹的大小

java - 在非 Activity 课上使用 Volley 和 Klaxon

java - 在Unix中使用Java Runtime类查找Jar文件中的类