Cos'è JDK? JDK è un acronimo che sta per Java Development Kit e consiste in un insieme di strumenti con cui si possono creare applicazioni Java. JDK contiene sia gli strumenti di compliazione sia l'interprete del bytecode: il Java Runtime Environment (JRE) ovvero la java virtual machine. Dove scaricare JDK? Il Java SE Development Kit (JDK) è disponibile per le varie piattaforme (Windows, Linux,...) supportate sul sito Sun Developer Network nella sezione Java SE Downloads. Oltre a al file d'installazione di JDK, dal sito della Sun si possono scaricare anche i seguenti file: Java SE 6 Documentation (jdk-6-doc.zip): la documentazione integrale della versione 1.6 di java, disponibile nella sezione Java SE Downloads; Java SE Tutorial (tutorial-****.zip): un ottimo tutorial distribuito da Sun in lingua inglese. Per accedere alla versione html del tutorial visita la pagina Java Tutorials; nella pagina principale del tutorial, tra le voci del menu Tutorial and Resources, collocato nella colonna a destra, si trova un link che permette di scaricare dal Sun Download Center un file compresso per un utilizzo del tutorial senza connettersi ad internet. Sul sito www.allimand.org son oanche disponibili le versioni in formato chm (Html Help) sia del tutorial sia della documentazione di JDK. Installare JDK per piattaforma Windows (Win2000, XP, Vista) a 32bit Supporremo in queste note che si stia installando il JDK SE versione 1.6 update X, per una macchina Windows a 32 bit dove X è il numero dell'aggiornamento (al momento presente per l'ultima versione è X=10). Si tenga presente che il numero di versione X compare nelle cartelle in cui è installato JDK. 1. Lanciare il file d'installazione jdk-6_uX_windows_i586_p.exe e proseguire l'installazione con le opzioni di default. 2. [fortemente consigliato] Scompattare il file jdk-6-doc.zip in una qualunque posizione e spostare la cartella docs con tutto suo contenuto nella cartella C:\Programmi\Java\jdk1.6.0_X 3. [consigliato] Scompattare il file tutorial-****.zip in una qualunque posizione e spostare la cartella tutorial con tutto suo contenuto nella cartella C:\Programmi\Java, creare quindi sul desktop un link al file: C:\Programmi\Java\tutorial\index.html 4. Entrare nel Pannello di controllo, cliccare sull'icona (Stampanti ed altro hardware --> ) Sistema, cliccare sulla label Avanzate, cliccare sul tasto Variabili d'ambiente, selezionare la variabile path (dell'utente corrente) e modificarla aggiungendole in coda, comprensiva del punto e virgola iniziale, la stringa: ;C:\Programmi\Java\jdk1.6.0_X\bin che includendo in tal modo i comandi del compilatore (javac.exe, java.exe, appletviewer.exe,...) tra quelli eseguibili direttamente nell'emulatore dos. Lista minimale comandi emulatore dos Si ricorda che l'emulatore dos (o prompt dei comandi o terminale ) può essere lanciato dal menu applicazioni, oppure digitando il comando cmd nella finestra Esegui.... I processi avviati nel terminale dos possono essere chiusi digitando la combinazione di tasti ctrl-c. Comando Spiegazione help Lista dei comandi disponibili. unità: Cambia l'unità corrente. Ad es. C: imposta l'unità C come unità corrente. cd Visualizza la directory corrente dell'unità corrente. cd unità: Visualizza la directory corrente dell'unità specificata. Ad es. cd C: visualizza la directory corrente dell'unità C. cd [/d] [unità:] percorso Imposta percorso come directory corrente dell'unità indicata. Se è presente l'opzione /d cambia insieme anche l'unità corrente. Ad esempio il comando cd /d C:\Programmi cambia l'unità corrente a C e imposta Programmi come directory corrente dell'unità C. cd .. Risali alla cartella di livello superiore, cioè quella contenente la cartella corrente. dir [/w][/p] Visualizza i file della cartella corrente. L'opzione /w lista il contenuto con allineamento orizzontale, mentre l'opzione /p con allineamento verticale per schermate, se la lista eccede le dimensioni della finestra. cmd Apre la finestra dell'emulatore DOS Lista minimale comandi terminale linux Si ricorda che l'emulatore di terminale di KDE è l'applicazione konsole che può essere lanciata dal menu applicazioni, oppure digitando il comando konsole nella finestra Esegui Comando.... I processi avviati nel terminale virtuale possono essere chiusi digitando la combinazione di tasti ctrlc. Comando Spiegazione help Lista dei comandi disponibili. pwd Visualizza la directory corrente. cd / Per spostarsi nella directory radice (root directory). cd .. Per spostarsi nella directory di un livello superiore. cd - Per spostarsi nella directory precedente (o indietro). cd o cd ~ Per spostarsi nella propria home directory. cd percorso Per spostarsi attraverso livelli multipli di directory in un solo comando, si deve specificare il percorso completo alla directory in cui si vuole andare. Per esempio: "cd /var/www" va direttamente alla directory /www subdirectory of /var/. Un altro esempio, "cd ~/Desktop" sposterà la directory corrente alla subdirectory Desktop all'interno della propria home directory. ls [opzioni] Visualizza i file della cartella corrente. L'opzione |more permette di listare il contenuto per schermate qualora la lista dei files ecceda le dimensioni di una singola schermata. L'opzione -l permette di mostrare ulteriori informazioni sui files della directory corrente; l'opzione -a permette di mostrare anche i file nascosti; la combinazione delle due precedenti è -al o -la. konsole Apre la finestra dell'emulatore terminale di KDE. man comando Visulizza la sezione del manuale linux relativa a comando. Il Primo Programma Il codice sorgente /* salva questo file con il nome "Primo.java" */ class Primo{ //Il programma inizia con una chiamata al metodo main() public static void main(String[] args) { System.out.println("Sono un semplice programma"); } } Le operazioni per compilare ed eseguire il programma Creazione file sorgente Si salva il codice sorgente in un file Primo.java, che deve avere lo stesso nome della classe definita nel codice. Si suppone d'ora innanzi che il file sia salvato nell'unità E, altrimenti è necessario cambiare la directory corrente con quella che contiene il file sorgente. Compilazione file sorgente Dalla consolle si lancia il comando di compilazione E:\>javac Primo.java Esecuzione file compilato Se non vi sono errori, il compilatore produrrà un file dal nome Esempio1.class, che contiene le informazioni d'esecuzione del programma nel formato bytecode. Con il comando: E:\>java Primo si dice alla JVM di tradurre il bytecode in codice oggetto e di eseguirlo sulla macchina. Al termine dell'esecuzione del programma, sulla consolle apparirà la stringa: Sono un semplice programma Analisi del Listato /* salva questo file con il nome "Primo.java" */ questo è un commento multilinea, aperto da /* e chiuso da */ . Tutto ciò che è contenuto tra i due simboli non viene compilato. class Primo{ dichiara una nuova classe di nome Primo, la cui definizione inizia dalla parentesi graffa { e termina con l'ultima parentesi graffa chiusa }. //Il programma inizia con una chiamata al metodo main() questo è un commento in linea: tutto ciò che segue in linea il simbolo // non viene compilato. public static void main(String[] args) { Questa riga definisce il metodo main(), ed è la riga da cui inizia l'esecuzione del programma. Tutte le applicazioni java iniziano tramite la chiamata del metodo main() da parte della JVM. Le parole chiave che precedono main, significano: public: è uno specificatore d'accesso che permette la chiamata del metodo al di fuori della classe in cui è definito; static: è un modificatore che consente la chiamata del metodo main() anche se la dalla classe Esempio1 non è stato istanziato alcun oggetto. void: indica al compilatore che il metodo main() non restituirà alcun valore. In seguito vedremo metodi che restituiscono valori. Si osservi qui che javac compilerà tutte le classi definite nel file sorgente, e per ciascuna verrà creato uno specifico file ".class", ma solo quella contenente il metodo main() potrà essere lanciata dalla JVM. Inoltre, in un programma con più classi, solo una dovrà contenere il metodo main(). Il codice (String[] args), specifica che il metodo main() definisce una variabile del tipo array di stringhe, identificata da args che riceve le informazioni passate al metodo main() dalla riga di comando. System.out.println("Sono un semplice programma"); Questa è l'unica istruzione eseguita nel corpo di main(), e utilizza il metodo println della classe predefinita di System.out, per dirigere la stringa Sono un semplice programma verso l'output standard, che di default è la consolle. } } La prima parentesi chiude il corpo del metodo main(), la seconda chiude la definizione della classe Primo.