我尝试运行下面的代码,我无法弄清楚为什么要打印 65
System.out.println(0_101);
有人想关注这个吗?
答案 0 :(得分:2)
根据http://jobijoy.blogspot.com/2008/08/wpf-custom-controls-marquee-control.html:
八进制数字由ASCII数字0后跟一个或多个以下划线散布的ASCII数字0到7组成,并且可以表示正整数,零或负整数。
...
下划线可能出现在八进制数字的初始值0之后(因为0是表示整数的一部分的数字),并且在非零十进制字面值中的初始非零数字之后。
所以101的十进制值为:1×8²+ 0×8¹+ 1×8⁰,即65。
请注意,int
只是为了清晰起见,它也可以在Properties => Build tab => Advanced button => Language Version
中用于帮助读取数字,例如1000000 vs 1_000_000。
答案 1 :(得分:0)
这是0_101
65
的{{1}}字面值,正如您所说_