Это Q для проверки.
JDK 8, похоже, обрабатывает восьмеричную, когда буквальное значение предшествует 0:
System.out.print(011);
печать 9 и
System.out.print(08);
давая проверочную ошибку.
Это не в документах, но (?)
Это новое в jdk8? если да - есть ли какие-то детали в случае восьмеричного, дополнительные для тех, что указаны в HEX и двоичном?
ТИА
//=============================
РЕДАКТИРОВАТЬ:
Q - это обработка JDK octal-- с тех пор. dosc показывает только HEX & binary.
эта строка 2-го кода показывает, что это восьмеричное JDK, когда значение предшествует 0.
Это было на Java навсегда... бит JLS, который вам нужен, - это раздел 3.10.1:
Октальная цифра состоит из цифры ASCII 0, за которой следует одна или несколько цифр ASCII от 0 до 7, чередующихся с символами подчеркивания, и могут представлять собой положительное, нулевое или отрицательное целое число.
(Это также в первом выпуске JLS).
Вы не должны ожидать, что учебник по Java будет выполнен на всех аспектах языка - это будет огромным для целевой аудитории. Для таких аспектов спецификацией является документ, на который нужно смотреть.