Java int启动的不同方式

Java int启动的不同方式,java,Java,两者的区别是什么 int i = 5; 及 我试图找出差异,但无法理解。请帮助。对于同一件事,这些是不同的数字基础。它们具有相同的效果,但在不同的情况下,更易于阅读/识别为魔法值 在无符号二进制中,1012是410+110或510。因此,0b101是一个与5相同的数字文字 您可以将数字1010写为: 第二种是位表示法,如果您进行位操作,它是理想的。生成的编译代码是相同的。1*2²+0*2'+1*2°=5第一个是直接整数赋值,第二个是二进制表示,一种二进制李代数。后者是在Java 7中添加的。i

两者的区别是什么

int i = 5;


我试图找出差异,但无法理解。请帮助。

对于同一件事,这些是不同的数字基础。它们具有相同的效果,但在不同的情况下,更易于阅读/识别为魔法值

在无符号二进制中,1012是410+110或510。因此,0b101是一个与5相同的数字文字

您可以将数字1010写为:


第二种是位表示法,如果您进行位操作,它是理想的。生成的编译代码是相同的。1*2²+0*2'+1*2°=5第一个是直接整数赋值,第二个是二进制表示,一种二进制李代数。后者是在Java 7中添加的。int i=0x5在十六进制表示法中也是等效的。谢谢您的回答。你说什么我都明白。但我无法理解这样做的好处是什么?如果你需要处理一个数字,其数字属性是以二进制为基础的,那么更多关于@LPD的内容。例如,如果你正在编写检测101010101模式的无线电软件,你最好使用二进制文字来进行相关性,而不是以10为基数。其他阅读您代码的人会更容易识别模式谢谢。。知道了。。因此,这更像是一种新奇的事物。。我说的对吗?@LPD与其说是新奇,不如说是方便——它确实有它的用途。
int i = 0b101;
int tenAsDecimal = 10;
int tenAsHex = 0xa;
int tenAsOctal = 012;
int tenAsBinary = 0b1010;