提问者:小点点

有什么区别呢?把额外的零放在左边[重复]


刚开始学习编程,你能解释一下它们之间的区别吗

public class tst {

    public static void main(String args[]){
        int mk=1200;
        System.out.println(mk);
    }

}

public class tst {

    public static void main(String args[]){
        int mk=01200;
        System.out.println(mk);
    }
}

第一个给出了结果1200,而第二个640


共2个答案

匿名用户

前导0使编译器将数字解析为八进制数(基数8)。01200八进制的十进制值是640。

匿名用户

前导零意味着八进制文字;所以01200是以8为底,十进制是640。

从本质上讲,这是对八进制文字更普遍的旧时代的致敬。尽管现在它更有可能分散注意力并导致混乱。有一些运动提出了八进制文字更深思熟虑的0o表示法。