Bas*_*wub 5 java
为什么这个代码
int[] a = { 0, 1, 1_0, 0_1, 1_0_0, 0_1_0, 0_0_1 }; System.out.println(Arrays.toString(a));
产出这个输出[0, 1, 10, 1, 100, 8, 1]?
[0, 1, 10, 1, 100, 8, 1]
为什么输出中有8?下划线是否添加了一些秘密功能?
mhl*_*hlz 4
代码中以“0”开头的整数将使用八进制系统而不是十进制系统进行解释。
所以八进制的 010 相当于十进制的 8。
你的 0_1 和 0_0_1 也可以这样解释,但你看不到它,因为它们在所有数字系统中都代表 1。
Java 编译器理解的其他数字系统是带有前缀“0x”的十六进制(因此 0x10 相当于十进制中的 16)和带有前缀“0b”的二进制(因此 0b10 相当于十进制中的 2)。
归档时间:
10 年,3 月 前
查看次数:
171 次
最近记录: