Что такое JShell?
Представляем официальный JDKSummary:
Provide an interactive tool to evaluate declarations, statements, and expressions of the Java programming language, together with an API so that other applications can leverage this functionality.
-
JShell — это инструмент Java REPL (цикл чтения-оценки-печати): интерактивный синтаксический анализатор, инструмент командной строки. Это позволяет выполнять операторы Java без использования оболочек классов или методов.
-
Такие языки, как Python и Scala, уже давно имеют интерактивные среды программирования, REPL, для интерактивной оценки операторов и выражений. Разработчикам нужно только ввести некоторый код и получить отзывы о программе перед компиляцией. В предыдущих версиях Java для выполнения кода необходимо было создавать файлы, объявлять классы и предоставлять для этого методы тестирования.
Философия JShell
即写即得,快速运行
Цель JShell
- В Java9 наконец появился инструмент REPL: jShell. Использование jShell без создания классов В случае прямого объявления переменных, вычисления выражений и выполнения операторов. То есть при разработке Запускайте Java-код прямо в командной строке, не создавая Java-файл, не следуя Люди объясняют ерундой «public static void main(String[] args)».
- jShell также может загружать операторы из файла или сохранять операторы в файл.
- jShell также может автоматически дополнять клавишу табуляции и автоматически добавлять точки с запятой.
Пример использования JShell
-
Введите JShell:
-
помощь:
-
Основное использование:
-
Java-выражения Терминал JShell также может самостоятельно оценивать выражения Java. Конкатенация строк, обратные вызовы методов, алгоритмы и т. д.
-
Точки с запятой необязательны для простых операторов:
-
импортировать указанный пакет
-
прямая ссылка Вы можете ссылаться на другие методы или переменные при определении метода, и эти методы или переменные будут определены только через определенное время.
-
Код автозаполнения клавиши Tab
-
РЕПЛ Сеть При использовании JShell мы не ограничены машинным и сетевым доступом, что открывает некоторые интересные возможности. Например, подумайте об этом как о терминале для связи с сервером, удаленного подключения к серверу и управления некоторыми параметрами извне. Другой вариант — запросить базу данных, здесь возможности действительно безграничны.
-
Сохранение и загрузка рабочих областей
-
Список всех допустимых фрагментов кода в текущем сеансе
-
Список всех созданных переменных в текущем сеансе
-
Список всех созданных методов в текущем сеансе
-
-
Используйте внешний редактор для написания кода Java
/edit add
- Загрузить исходный код из внешнего файла
/open xxx.java
- Нет проверенных исключений/исключений времени компиляции
Если вы беспокоитесь о том, что проверенные исключения могут испортить ваш опыт работы с REPL, не беспокойтесь, JShell скроет их для вас в фоновом режиме.
- выйти из оболочки
/exit
- JShell API
Помимо того, что это отдельный инструмент JDK, JShell также может предоставлять API, открывающий все функции для внешних вызовов.
- Изменение определений на лету
Вы можете повторно объявить переменную, метод или класс, не беспокоясь об исходном объявлении. Как только вы это сделаете, вы получите сообщение о том, что произошло, но в остальном все как обычно.
Как насчет этого? Ты взволнован? Попробуйте сейчас~
Публичный аккаунт WeChat:На мечеПожалуйста, обратите внимание на мою личную технологию общедоступного аккаунта WeChat, подпишитесь на дополнительный контент