Протестируйте свои фрагменты кода Java с помощью JShell

Хотите быстро изучить новые функции Java без обычных хлопот компиляции и упаковки? Устали перекомпилировать каждый раз, когда вы вносите изменения? Тогда ответ — JShell.

Ранний доступ к этому выпуску можно найти по адресу https://jdk9.java.net/download/.

После загрузки JDK 9 вы можете получить доступ к JShell, либо перейдя в каталог ‹JAVA_HOME›/bin, либо задав для переменной PATH значение JShell, чтобы вы могли получить доступ к JShell в любом месте командной строки.

  1. Итак, приступим! Просто введите jshell, и вы готовы запускать свои операторы Java.

2. Печать «Hello World!» настолько просто, насколько это возможно, не оборачивая его в public static void main(String[] args){}.

3. Хотите оценить выражение? Скажем 4+7. Ответ равен 11 и присваивается временной переменной с именем $2 типа int.

4. Переменные, которые вы объявляете и инициализируете в предыдущих командах, видны в этом сеансе. Например, здесь мы создали переменную с именем «myVariable» и использовали ее в другом операторе для вывода ее значения.

Но как только вы создадите оболочку с помощью команды «/exit», у вас больше не будет доступа к переменным, созданным в предыдущем сеансе.

5. Создание класса и вызов методов его объекта.

6. Если вы хотите отредактировать ранее созданный класс, введите «/edit MyTestClass».

и он откроет для вас JShell Edit Pad следующим образом.

7. Сохранить свою работу в рамках сеанса так же просто, как использовать команду «/save». Например, здесь я создаю класс с именем Book, а затем, после создания объекта этого класса Book, я вызываю его метод printBookDetails().

Теперь, чтобы сохранить всю эту работу в текстовом файле с именем MyWork, я использовал следующую команду.

Теперь, если я открою файл MyWork.txt, вы увидите, что вся работа, которую я проделал во время сеанса, была сохранена в этом файле.

8. Если вы хотите открыть свою работу в другом последующем сеансе, просто используйте команду «/open», чтобы загрузить содержимое в новый сеанс.

Удачного кодирования! :)