2017-04-24 33 views
0
class LetsComp { 
    public static void main(String[] args) { 

    int a = 10, b = 0010; 

    System.out.println(a == b); // this gives false, even if both values in actual are same 

    } 
} 
+5

这是因为它们不一样。 'a'是10,'b'是8. – RealSkeptic

+1

从0开始的Java数字文字意味着它们是八进制的,也就是说你不能使用08或09.如果你要写的是以0x开头的文字(例如0x010),它们应该是16进制。 – Thomas

回答

2

在java 100010是不一样的。

0010的八进制等于8(十进制),而10已经是十进制格式。

JLS

一种八进制数字一个ASCII数字0,随后的一个或多个的ASCII数字0到7穿插下划线,并且可以代表正,零或负整数。