十六进制八进制和二进制文字

hexadecimal 数字是 base-16 中的值。有 16 位数字,0-9 和字母 A-F(情况无关紧要)。A-F 代表 10-16

octal 数字是 base-8 中的值,并使用数字 0-7

binary 数字是 base-2 中的值,使用数字 01

所有这些数字都会产生相同的值,110

int dec = 110;            // no prefix   --> decimal literal
int bin = 0b1101110;      // '0b' prefix --> binary literal
int oct = 0156;           // '0' prefix  --> octal literal
int hex = 0x6E;           // '0x' prefix --> hexadecimal literal

请注意,Java 7 中引入了二进制文字语法。

八进制文字很容易成为语义错误的陷阱。如果你将一个领先的'0'定义为十进制文字,你将得到错误的值:

int a = 0100;        // Instead of 100, a == 64