7
public class Test {  
    public static void main(String... args) {

        int i=010;

        System.out.print(i);
    }
}

出力:

8

なんで?ロジックは何ですか?

4

6 に答える 6

27

00xは 8 進数のプレフィックスであり、16 進数のプレフィックスと同様です ( 0bJava 7 以降では 2 進数のプレフィックスです)。

つまり、010つまりです。1 * 81 + 0 * 808

于 2013-08-05T17:43:30.270 に答える
2

なぜなら010、ここでは 8 進数だからです。

于 2013-08-05T17:43:40.427 に答える
2

開始時に0があるため、整数は8進法です。

于 2013-08-05T17:44:03.280 に答える