JShell – REPL di Java

Java REPL o jshell è il nuovo strumento introdotto in java 9. Oggi esamineremo le basi di Java REPL e eseguiremo alcuni programmi di test nell’interfaccia jshell.

Java REPL

Iniziamo con capire perché è stata aggiunta il supporto per REPL in Java, se fosse così importante perché è stata introdotta così tardi. Come sapete, Scala è diventata molto popolare per lo sviluppo di applicazioni di piccola e grande scala a causa delle sue caratteristiche e vantaggi. Supporta il paradigma multiparadigma (Programmazione orientata agli oggetti e funzionale) e REPL. Oracle Corporation sta cercando di integrare la maggior parte delle caratteristiche di Scala in Java. Hanno già integrato alcune caratteristiche di programmazione funzionale come parte di Java 8, come le espressioni lambda. Una delle migliori caratteristiche di Scala è REPL (Read-Evaluate-Print-Loop). È un’interfaccia a riga di comando e un interprete Scala per eseguire programmi Scala. È molto facile usare Scala REPL per imparare le basi della programmazione Scala e persino eseguire piccoli codici di test. A causa di Scala REPL e dei suoi benefici nel ridurre la curva di apprendimento e facilitare l’esecuzione del codice di test, è stata introdotta Java REPL in java 9.

JShell Java REPL – jshell

Il nome dell’applicazione Java REPL è jshell. JShell sta per Java Shell. jshell è un tool interattivo per eseguire e valutare semplici programmi Java come dichiarazioni di variabili, istruzioni, espressioni, programmi semplici, ecc. Apri il prompt dei comandi e controlla la versione di Java per assicurarti di avere Java 9 o superiore, solo così potrai utilizzare jshell. Poiché jshell non ha bisogno di alcuna IDE o editor aggiuntivo per eseguire programmi Java semplici, è molto utile per i principianti in Java di base e per gli esperti che lo utilizzano per imparare e valutare nuove funzionalità e piccoli codici di test.

JShell Java REPL – jshell basi

Possiamo accedere a Java REPL utilizzando il comando jshell disponibile come mostrato nell’immagine sottostante. Ora è il momento di eseguire alcuni semplici esempi Java per assaporare lo strumento REPL di Java.

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> 

Come mostrato negli esempi Java REPL sopra, è molto facile sviluppare il programma “Hello World”. Non è necessario definire una “classe pubblica” e il metodo public static void main(String[] args) solo per stampare un messaggio. NOTA: Non è necessario utilizzare “punti e virgole” per le istruzioni semplici come mostrato nel diagramma sopra.

Java REPL – esegui classe

È anche possibile definire ed eseguire i metodi della classe nella shell Java REPL.

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

jshell> Hello.sayHello()
Hello
jshell> 

Java REPL – Aiuto e Uscita

Per ottenere la sezione di aiuto dello strumento jshell, utilizzare il comando /help. Per uscire da jshell, utilizzare il comando /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$ 

Possiamo anche utilizzare il comando Ctrl + D per uscire dallo strumento jshell. Questo è tutto riguardo ai concetti di base di Java REPL e jshell, leggi di più su jshell – shell java. Riferimento: JEP 222

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