Почему int j = 012 дает вывод 10?

В моем собственном проекте это произошло случайно, вот моя модифицированная небольшая программа.

Я не могу понять, почему это дает вывод10?

public class Int
{
    public static void main(String args[])
    {
        int j=012;//accidentaly i put zero 
        System.out.println(j);// prints 10??
    }
}

После этого я поставил два нуля, по-прежнему выводя 10.

Тогда я меняюС 012 по 0123 и теперь он дает выходной 83?

Кто-нибудь может объяснить, почему?

Ответы на вопрос(3)

Ваш ответ на вопрос