Java REPL – jshell

Java REPL oder jshell ist das neue Tool, das in Java 9 eingeführt wurde. Heute werden wir uns mit den Grundlagen von Java REPL befassen und einige Testprogramme in der jshell-Oberfläche ausführen.

Java REPL

Zunächst einmal wollen wir verstehen, warum REPL-Unterstützung in Java hinzugefügt wurde und warum erst so spät. Wie Sie wissen, ist Scala aufgrund ihrer Funktionen und Vorteile sehr beliebt geworden, um Anwendungen von klein bis groß zu entwickeln. Sie unterstützt mehrere Paradigmen (objektorientierte und funktionale Programmierung) und REPL. Oracle Corporation versucht, die meisten Scala-Funktionen in Java zu integrieren. Sie haben bereits einige funktionale Programmierfunktionen als Teil von Java 8 integriert, wie z.B. Lambda-Ausdrücke. Eine der besten Funktionen von Scala ist das REPL (Read-Evaluate-Print-Loop). Es handelt sich um eine Befehlszeilenschnittstelle und einen Scala-Interpreter zur Ausführung von Scala-Programmen. Es ist sehr einfach, Scala REPL zu verwenden, um die Grundlagen der Scala-Programmierung zu erlernen und sogar kleinen Testcode auszuführen. Aufgrund des Scala REPL und seiner Vorteile bei der Reduzierung der Lernkurve und der einfachen Ausführung von Testcode wurde Java REPL in Java 9 eingeführt.

Java REPL – jshell

Der Name der Java REPL-Anwendung ist jshell. JShell steht für Java Shell. jshell ist ein interaktives Tool zum Ausführen und Auswerten einfacher Java-Programme wie Variablendeklarationen, Anweisungen, Ausdrücke, einfache Programme usw. Öffnen Sie die Befehlszeile und überprüfen Sie die Java-Version, um sicherzustellen, dass Sie Java 9 oder höher haben, dann können Sie jshell verwenden. Da jshell keine IDEs oder zusätzlichen Editoren benötigt, um einfache Java-Programme auszuführen, ist es sehr nützlich für Anfänger in Kern-Java und Experten, um es zu verwenden, um neue Funktionen und kleinen Testcode zu lernen und zu evaluieren.

Java REPL – jshell Grundlagen

Wir können auf Java REPL zugreifen, indem wir den Befehl jshell verwenden, der wie im folgenden Bild gezeigt verfügbar ist. Jetzt ist es an der Zeit, einige einfache Java-Beispiele auszuführen, um den Geschmack des Java REPL-Tools zu bekommen.

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> 

Wie in den obigen Java REPL-Beispielen gezeigt, ist es sehr einfach, ein „Hello World“-Programm zu entwickeln. Wir müssen keine „public class“ definieren und die public static void main(String[] args)-Methode nur zum Drucken einer Nachricht verwenden. HINWEIS: Wir müssen keine „Semikolons“ für einfache Anweisungen verwenden, wie im obigen Diagramm gezeigt.

Java REPL – Klasse ausführen

Wir können auch Klassenmethoden in der Java REPL-Shell definieren und ausführen.

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

jshell> Hello.sayHello()
Hello
jshell> 

Java REPL – Hilfe und Beenden

Um den Hilfebereich des jshell-Tools zu erhalten, verwenden Sie den Befehl /help. Zum Beenden von jshell verwenden Sie den Befehl /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$ 

Sie können auch den Befehl Strg + D verwenden, um das jshell-Tool zu beenden. Das ist alles zu den Grundlagen von Java REPL und dem jshell-Tool, lesen Sie mehr unter jshell – java shell. Referenz: JEP 222

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