Восьмеричные значения - в JDK8? [Дубликат]

1

Это Q для проверки.

JDK 8, похоже, обрабатывает восьмеричную, когда буквальное значение предшествует 0:

  System.out.print(011);

печать 9 и

  System.out.print(08);

давая проверочную ошибку.

Это не в документах, но (?)

Это новое в jdk8? если да - есть ли какие-то детали в случае восьмеричного, дополнительные для тех, что указаны в HEX и двоичном?

ТИА

//=============================

РЕДАКТИРОВАТЬ:

Q - это обработка JDK octal-- с тех пор. dosc показывает только HEX & binary.

эта строка 2-го кода показывает, что это восьмеричное JDK, когда значение предшествует 0.

  • 1
    8 не является действительным восьмеричным значением
Теги:
java-8
octal
literals

1 ответ

9

Это было на Java навсегда... бит JLS, который вам нужен, - это раздел 3.10.1:

Октальная цифра состоит из цифры ASCII 0, за которой следует одна или несколько цифр ASCII от 0 до 7, чередующихся с символами подчеркивания, и могут представлять собой положительное, нулевое или отрицательное целое число.

(Это также в первом выпуске JLS).

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню