In alcune occasioni per scrivere un programma è comodo usare strumenti alternativi, vediamo alcune possibilità che possono essere di aiuto sia per fare delle prove che per provare programmi che non funzionano correttamente.
gli strumenti utilizzati qui sotto fanno parte degli strumenti di sviluppo standard di Java: il JDK (Java Development Kit).
jshell
jshell è un programma che ci permette di provare "al volo" piccole parti di codice java senza dover scrivere tutto il programma... anche una singola espressione! È disponibile dalla versione 9 del JDK (Java Development Kit).
Per poterlo usare basta aprire una shell (cmd su Windows o un terminale qualsiasi su Linux/maxOS
oppure ancora la vista "Terminale" di eclipse) e scrivere jshell
(in caso
il sistema operativo non trovi il comando vedi più in basso la sezione "path").
Il programma presenta un prompt jshell>
che ci permetterà di inserire delle parti
di codice che verranno compilate ed interpretate al volo. Possiamo ad esempio scrivere
10/3
e vedere quale è il risultato.
jshell> 10/3 $1 ==> 3
In questo modo jshell ci informa che il risultato dell'operazione è stato inserito nella variabile $1 che potremo usare per elaborazioni future.
Potremmo continuare scrivendo l'espressione "numero di pacchi: "+$1
e assegnando il suo
valore alla variabile testo che dobbiamo però prima dichiarare.
jshell> String testo testo ==> null jshell> testo = "numero di pacchi: "+$1 testo ==> "numero di pacchi: 3"
Due ultime cose: per recuperare linee di codice già scritte basta usare il tasto
"freccia su", per uscire bisogna scrivere /exit
Compilare/eseguire i programmi da terminale
Poniamo che per un motivo qualsiasi non si voglia usare un ambiente di sviluppo integrato, nel kit di sviluppo di Java c'è tutto quel che serve per compilare ed eseguire un programma.
Per vedere come funzionano questi programmi utilizzeremo una cartella prova
sulla scrivania e un terminale (cmd
o PowerShell
per Windows,
un terminale qualsiasi su macOS o Linux) aperto nella stessa cartella.
path
Per poter usare i comandi è necessario informare il sistema operativo sulla loro ubicazione
nel caso di Windows 10 dobbiamo fare una sequenza di passi:
- trovare dove si trova l'eseguibile
java
: usando il file manager, ad esempio per il JDK11 il percorso potrebbe esserec:\Program Files\Java\jdk-11\bin\
- click con il tasto destro sul menu windows in basso a sinistra
- click su "sistema"
- nella barra di ricerca sulla sinistra scrivere "avanzate"
- click sulla voce "Visualizza impostazioni di istema avanzate"
- nella finestra che si apre: linguetta "Avanzate", click su "Variabili d'ambiente..."
- nel gruppo "Variabili di sistema" click su "Path" e poi su "Modifica..."
- click su "Nuovo" e inserire il percorso trovato al primo punto
nel caso di Windows 8 una sequenza possibile è questa:
- trovare dove si trova l'eseguibile
java
usando il file manager, ad esempio per il JDK 8 il percorso potrebbe essereC:\Program Files\Java\jdk1.8.0_181\bin
- aprire le configurazioni "sistema" dal pannello di controllo
- click su "sistema"
- click sulla colonna di sinistra su "impostazioni di sistema avanzate"
- dalla linguetta "avanzate" click su "variabili d'ambiente"
- nel gruppo "Variabili di sistema" click su "Path" e poi su "Modifica..."
- in fondo alla casella "Valore variabile" aggiungere un ";" seguito dal percorso trovato all'inizio
Scrittura
Per scrivere il programma serve un editor di testo come ad esempio il Blocco note di windows o Gedit di Linux, non un elaboratore testi come LibreOffice o Word.
Inseriamo nella cartella prova
un file Saluto.java
fatto così:
public class Saluto{ public static void main(String args[]){ System.out.println("ciao mondo!"); } }
Bisogna assicurarsi che il file si chiami esattamente Saluto.java
e
non Saluto.java.txt
, dal terminale aperto nella cartella prova
si può verificare scrivendo dir
in Windows o ls
in Linux/macOS.
Compilazione
Sempre con il terminale aperto nella solita cartella in cui si trova
il file Saluto.java
useremo il comando javac.
Saluto.java
è il nostro file sorgente e va compilato in modo che java possa eseguirlo:
il comando da usare è javac
seguito dal nome del file da compilare.
$ javac Saluto.java
Se tutto va bene (cioè se non compaiono messaggi nel terminale)
nella cartella comparirà un file in più chiamato Saluto.class
che contiene il codice compilato. Guardando l'elenco dei file contenuti nella cartella
dovrebbe comparire:
Saluto.class Saluto.java
Interpretazione
Per eseguire il programma dobbiamo avviare l'interprete java
dicendogli quale è il programma
da avviare (che in java, guarda caso, si chiama classe), non bisogna mettere il ".class" finale ma
soltanto il nome.
java Saluto
In questo caso l'ouput del programma compare direttamente nel terminale.