Java REPL – jshell Leitfaden
Java REPL oder jshell ist das neue Werkzeug, das in Java 9 eingeführt wurde. Heute werden wir uns die Grundlagen von Java REPL ansehen und einige Testprogramme in der jshell-Schnittstelle ausführen.
Java REPL
Lassen Sie uns zunächst versuchen zu verstehen, warum REPL-Unterstützung in Java hinzugefügt wurde, wenn es so wichtig war, dann warum in einer so späten Veröffentlichung. Wie Sie wissen, ist Scala aufgrund seiner Funktionen und Vorteile sehr beliebt geworden, um von kleinen bis zu groß angelegten Anwendungen zu entwickeln. Es unterstützt Multi-Paradigma (Objektorientierte und Funktionale Programmierung) und REPL. Oracle Corporation versucht, die meisten Scala-Funktionen in Java zu integrieren. Sie haben bereits einige Funktionen der funktionalen Programmierung als Teil von Java 8 integriert, wie Lambda-Ausdrücke. Eines der besten Merkmale von Scala ist REPL (Read-Evaluate-Print-Loop). Es ist eine Kommandozeilenschnittstelle und Scala-Interpreter, um Scala-Programme auszuführen. Es ist sehr einfach, Scala REPL zu verwenden, um die Grundlagen der Scala-Programmierung zu erlernen und sogar kleinen Testcode auszuführen. Aufgrund von Scala REPL und seinen Vorteilen bei der Reduzierung der Lernkurve und der Einfachheit des Ausführens von Testcode wurde Java REPL in Java 9 eingeführt.
Java REPL – jshell
Der Anwendungsname von Java REPL ist jshell. JShell steht für Java Shell. jshell ist ein interaktives Werkzeug, um einfache Java-Programme wie Variablendeklarationen, Anweisungen, Ausdrücke, einfache Programme usw. auszuführen und zu bewerten. Öffnen Sie die Eingabeaufforderung 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ätzliche Editoren benötigt, um einfache Java-Programme auszuführen, ist es sehr nützlich für Anfänger in Core Java und Experten, um neue Funktionen und kleinen Testcode zu lernen und zu bewerten.
Java REPL – jshell Grundlagen
Wir können auf Java REPL zugreifen, indem wir den jshell-Befehl verwenden, wie im folgenden Code gezeigt.
pankaj:~ pankaj$ jshell
| Welcome to JShell -- Version 9
| For an introduction type: /help intro
jshell>
jshell>
Jetzt ist es an der Zeit, einige einfache Java-Beispiele auszuführen, um einen Eindruck vom Java REPL-Werkzeug 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 nicht „public class“ und public static void main(String[] args) Methode definieren, nur um eine Nachricht zu drucken. 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 im 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-Werkzeugs zu erhalten, verwenden Sie den Befehl /help. Um jshell zu verlassen, 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$
Wir können auch das Kommando Ctrl + D verwenden, um das jshell-Werkzeug zu verlassen. Das ist alles über Java REPL und die Grundlagen des jshell-Werkzeugs.