Быстрый ответ: можете начинать с любых букв, знаков подчеркивания и доллара, продолжать буквы, цифры, знаки подчеркивания и доллара. Подробности ниже.
Я также ничего не нашел в ссылке или документации. Однако, проверяя исходный код, я обнаружил, что обработка не является собственным языком, а скорее структурой, в которой вы запускаете некоторые команды. Разница в том, что вы на самом деле пишете другой язык, а обработка просто дает вам некоторые базовые строительные леса, на которых вы строите сверху.
Для некоторых технических подробностей: Обработка компилирует Java-сборку с помощью некоторых флагов, создает виртуальную машину (виртуальная машина Java, не такая же, как полноценная виртуальная машина) и подключается к ней для получения входных и выходных потоков (это почему вы можете взаимодействовать с мышью или получать консольный вывод своей собственной программы в отдельном окне). (Source.)
Этот язык, который вы, возможно, уже догадались, является Java.
С учетом сказанного, фактические документы, которые отвечают на этот вопрос, это Java Language Specification, что, чтобы упростить все, так близко, как вы можете получить ответ. (Но если вы действительно хотите знать, it's a mess.)
В частности, раздел Identifiers, который я просуммировать ниже:
- Может начинаться с любой буквы (
A-Z
, a-z
), подчеркивание (_
), знак доллара ($
), или любой юникода «буква» (с ударением, китайский и т.д. Details.)
- можно продолжать с любым из указанных выше, а также может продолжать с цифрами (
0-9
). Может также содержать другие Юникода «письма» (Details.)
- Может иметь неограниченную длину
- Не может быть любой Java ключевое слово (list here)
- не может быть
false
, true
, null
- Они могут выглядеть так же и до сих пор быть разными, если их коды отличаются (некоторые буквы Юникода выглядят точно так же, как буквы, но разные)
Надеюсь, это поможет!Расследование было забавным.