为什么Java中没有二进制文字?

Adr*_*n M 22 java

是否有任何特殊原因,为什么不包括这种文字,而允许十六进制和八进制格式?

Emi*_*mil 26

Java 7包含它.检查新功能.

例:

int binary = 0b1001_1001;
Run Code Online (Sandbox Code Playgroud)

  • 这是一个更新的,更"官方"的参考 - http://openjdk.java.net/projects/coin/ (8认同)
  • 有更新的链接:http://download.oracle.com/javase/7/docs/technotes/guides/language/binary-literals.html (2认同)

aio*_*obe 25

在Java 7中引入了二进制文字.请参阅"改进的整数文字":

int i = 0b1001001;
Run Code Online (Sandbox Code Playgroud)

从第一天开始不包括它们的原因很可能如下:Java是一种高级语言,并且在涉及不太重要和低级别的语言结构时具有相当严格的限制.Java开发人员的一般政策是"如果有疑问,请将其保留".

如果您使用的是Java 6或更高版本,那么最好的选择就是做

int yourInteger = Integer.parseInt("100100101", 2);
Run Code Online (Sandbox Code Playgroud)

  • C是中级语言,并且在涉及非常低级别的语言结构时,历史上非常宽容.仍然没有二进制文字. (4认同)