为什么这会发生在java?

bat*_*man 0 java

可能重复:
带有前导零的整数

我是Java的新手.我这样做了:

System.out.println(01111);
Run Code Online (Sandbox Code Playgroud)

打印4680.为什么它没有打印出来01111

提前致谢.

Dav*_*rtz 8

如果要打印出字符串 "01111",请将其放在引号中.这就是你如何在Java中指定一串字符.

没有十进制数字01111,因此尝试打印十进制数字01111不可能工作.

你得到4680的原因是,在Java源代码中,数字常量之前的前导零表示数字以八进制指定,数字以十进制打印.11110八进制= 4680十进制.(你必须做到011104680,01111会给你585.)