Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Introduzione alla JShell di Java 9

Scopriamo la JShell di Java 9 che permette di eliminare l'overhead relativo alla creazione di classi container.
Scopriamo la JShell di Java 9 che permette di eliminare l'overhead relativo alla creazione di classi container.
Link copiato negli appunti

Per creare un'applicazione Java standalone seguiamo i passi che portano alla creazione di una classe che contiene il metodo main,
inseriamo il codice Java necessario, compiliamo il programma, correggiamo gli eventuali errori di compilazione e infine
mandiamo in esecuzione il programma.

Attraverso la compilazione ed esecuzione automatica di porzioni di codice Java la JShell
elimina l'overhead relativo alla creazione di classi container.
Su Microsoft Windows è possibile utilizzare la JShell da riga di comando aprendo una console e digitando:

$JAVA_HOME/bin/jshell

con la variabile $JAVA_HOME che si riferisce al percorso relativo ad un'installazione delle JDK 9. In questo, e nei successivi capitoli, non utilizzeremo però
la console di Windows ma l'integrazione della JShell nella versione di Netbeans che abbiamo configurato nel primo capitolo. Mandiamo
in esecuzione l'ambiente Netbeans e, dal menù "Tools" dell'IDE, selezioniamo "Open Java Platform JShell":

Figura 1. JShell
JShell

La JShell verrà aperta e inizializzata. La console accetta due
tipi di input: il codice Java e i comandi propri della console.

Vediamo subito un esempio. Supponiamo di voler provare alcuni metodi della classe String per comprenderne il funzionamento. Senza la JShell avremmo realizzato una classe
del tipo:

public class StringTest {
     public static void main(String[] args) {
       String str = "12345";
       System.out.println(str.substring(0,2));
     }
    }

Con la JShell la classe StringTest non è necessaria, è sufficiente inserire lo statement di dichiarazione della variabile String,
str, e successivamente l'istruzione System.out.println():

Figura 2. JShell primo esempio
JShell primo esempio
Figura 3. JShell, seconda parte primo esempio
JShell, seconda parte primo esempio

L'esecuzione della prima istruzione evidenzia la sintassi JShell che indica l'avvenuta creazione dell'oggetto String inizializzato
con il valore specificato. L'esecuzione della seconda istruzione produce invece la stampa del risultato dell'invocazione del metodo
substring() sulla console di output.

Analizziamo ora un esempio di errore mostrato dalla JShell e supponiamo di voler sommare due variabili intere di cui una non dichiarata:

Figura 4. JShell esempio di errore
JShell esempio di errore

La sintassi del punto di errore viene indicata con il simbolo ^--^. L'errore di compilazione indica chiaramente che stiamo utilizzando una variabile non dichiarata.

Un aspetto interessante della JShell è la presenza di una history degli input inseriti. Infatti possiamo recuperare la situazione precedente dichiarando la variabile num2:

Figura 5. JShell, esempio di uso della history
JShell, esempio di uso della history

Eseguendo nuovamente la somma recuperandola dalla history attraverso i tasti freccia della tastiera possiamo notare
la presenza di un numero preceduto dal simbolo sharp accanto ad ogni istruzione. Questo numero è un'identificatore univoco dell'istruzione
all'interno della JShell. Se eseguiamo il comando /list possiamo infatti visualizzare le istruzioni eseguite con successo e l'identificatore
associato:

Figura 6. JShell, comando list
JShell, comando list

Possiamo utilizzare l'identificatore di uno statement per riferirci ad esso nell'ambito di una particolare operazione. Ad esempio
se abbiamo la necessità di eseguire nuovamente uno statement precedentemente inserito, possiamo digitare l'ID
e premere invio:

Figura 7. JShell, uso ID
JShell, uso ID

Facciamo notare che durante l'uso della JShell è possibile avere blocchi o errori, si tratta infatti di una versione in fase di sviluppo.


Ti consigliamo anche