Java 为什么System.out.println(0_101);打印65?
我试着运行下面的代码,但我不明白为什么要打印65Java 为什么System.out.println(0_101);打印65?,java,Java,我试着运行下面的代码,但我不明白为什么要打印65 System.out.println(0_101); 有人想解释一下吗?它是用0\u 101的文字打印出来的,正如你所说的65根据: 八进制数字由一个ASCII数字0和一个或多个ASCII数字0到7组成,中间穿插下划线,可以表示正整数、零整数或负整数 下划线可能出现在八进制数字中的初始0之后(因为0是表示整数一部分的数字),也可能出现在非零十进制文字中的初始非零数字之后 So 101的十进制值为:1×8²+0×8⑩+1×8⁰, 这是65 请注
System.out.println(0_101);
有人想解释一下吗?它是用0\u 101
的文字打印出来的,正如你所说的65
根据:
八进制数字由一个ASCII数字0和一个或多个ASCII数字0到7组成,中间穿插下划线,可以表示正整数、零整数或负整数
下划线可能出现在八进制数字中的初始0之后(因为0是表示整数一部分的数字),也可能出现在非零十进制文字中的初始非零数字之后
So 101的十进制值为:1×8²+0×8⑩+1×8⁰, 这是65
请注意,
\uuu
仅为清晰起见,它可以用于int
中,也可以用于帮助读取数字,例如1000000对1000000。它的101是一个八进制文字,其十进制值为:1×8²+0×8⑩+1×8⁰ 那是65。你认为应该打印什么?你为什么这么认为?@marounnaroun,作为答案发帖!:-)@aioobe我不想在没有JLS证据的情况下发布它:)请记住接受适当的答案。这是怎么回事??int val=\u0030\u0031\u0030\u0031;System.out.println(val);//它将打印65页