Java REPL – jshell

Java REPL или jshell – новый инструмент, представленный в Java 9. Сегодня мы рассмотрим основы Java REPL и выполним несколько тестовых программ в интерфейсе jshell.

Java REPL

Давайте сначала попробуем понять, почему была добавлена поддержка REPL в Java, если это было настолько важно, то почему только в таком позднем релизе. Как вы знаете, Scala стала очень популярной для разработки масштабных приложений благодаря своим особенностям и преимуществам. Она поддерживает многопарадигмальное программирование (объектно-ориентированное и функциональное) и REPL. Корпорация Oracle пытается интегрировать большую часть особенностей Scala в Java. Они уже интегрировали некоторые функциональные возможности в рамках Java 8, такие как лямбда-выражения. Одной из лучших особенностей Scala является REPL (Read-Evaluate-Print-Loop). Это интерфейс командной строки и интерпретатор Scala для выполнения программ Scala. Очень легко использовать Scala REPL для изучения основ программирования на Scala и даже запуска небольшого тестового кода. Именно из-за Scala REPL и ее преимуществ в уменьшении кривой обучения и упрощении запуска тестового кода в Java был введен REPL в версии Java 9.

Java REPL – jshell

Название приложения для REPL в Java – jshell. JShell расшифровывается как Java Shell. jshell – это интерактивный инструмент для выполнения и оценки простых программ на языке Java, таких как объявления переменных, операторы, выражения, простые программы и т. д. Откройте командную строку и проверьте версию Java, чтобы убедиться, что у вас установлена Java 9 или выше, только тогда вы сможете использовать jshell. Поскольку jshell не требует никаких сред разработки или дополнительных редакторов для выполнения простых программ на языке Java, он очень полезен для начинающих в основах Java и для экспертов, использующих его для изучения и оценки новых функций и маленьких тестовых программ.

Java REPL – основы jshell

Мы можем получить доступ к Java REPL, используя команду jshell, доступную, как показано на рисунке ниже. Теперь пришло время выполнить несколько простых примеров на языке Java, чтобы познакомиться с инструментом REPL.

pankaj:~ pankaj$ jshell 
|  Welcome to JShell -- Version 9
|  For an introduction type: /help intro

jshell> 

jshell> System.out.println("Hello World");
Hello World

jshell> String str = "Hello JournalDev Users"
str ==> "Hello JournalDev Users"

jshell> str
str ==> "Hello JournalDev Users"

jshell> System.out.println(str)
Hello JournalDev Users

jshell> int counter = 0
counter ==> 0

jshell> counter++
$6 ==> 0

jshell> counter
counter ==> 1

jshell> counter+5
$8 ==> 6

jshell> counter
counter ==> 1

jshell> counter=counter+5
counter ==> 6

jshell> counter
counter ==> 6

jshell> 

Как показано в вышеприведенных примерах Java REPL, очень легко разрабатывать программу “Hello World”. Нам не нужно определять “public class” и метод public static void main(String[] args) только для вывода одного сообщения. ПРИМЕЧАНИЕ: Нам не нужно использовать “точки с запятой” для простых операторов, как показано на приведенной выше диаграмме.

Java REPL – выполнение класса

Мы также можем определять и выполнять методы класса в оболочке Java REPL.

jshell> class Hello {
   ...> public static void sayHello() {
   ...> System.out.print("Hello");
   ...> }
   ...> }
|  created class Hello

jshell> Hello.sayHello()
Hello
jshell> 

Java REPL – Справка и выход

Чтобы получить раздел справки по инструменту jshell, используйте команду /help. Чтобы выйти из jshell, используйте команду /exit.

jshell> /help
|  Type a Java language expression, statement, or declaration.
|  Or type one of the following commands:
|  /list [<name or id>|-all|-start]
|  	list the source you have typed
|  /edit <name or id>
...

jshell> /exit
|  Goodbye
pankaj:~ pankaj$ 

Мы также можем использовать команду Ctrl + D для выхода из инструмента jshell. Вот и все основы Java REPL и инструмента jshell, подробнее читайте в разделе jshell – java shell. Ссылка: JEP 222

Source:
https://www.digitalocean.com/community/tutorials/java-repl-jshell