Come imparare Java
Nei giorni scorsi, chiacchierando con un amico, hai sentito parlare del linguaggio Java e la cosa ha attirato in maniera particolare la tua attenzione, tanto da volerne sapere di più sull’argomento. Così ti sei fiondato su Google, hai cercato una guida su come imparare Java e sei capitato qui sul mio sito. Le cose stanno così, vero? In caso di risposta affermativa, sappi che sei capitato nel posto giusto, o meglio, sulla guida giusta al momento giusto.
Nelle seguenti righe, infatti, provvederò a spiegarti come approcciare al linguaggio di programmazione Java nel migliore dei modi. Prima di passare al vivo di questa guida, però, lascia che ti dica due parole in merito a ciò che ti accingi ad affrontare. Java, per tua informazione, è un linguaggio di programmazione a oggetti, estremamente potente e flessibile, creato agli inizi degli anni ’90 da Sun Microsystems , a partire da alcune ricerche effettuate alla Stanford University. Inizialmente, era denominato Oak ma il suo nome, tuttavia, venne ben presto modificato in Java, a causa di problemi di copyright.
Fatta questa piccola infarinatura iniziale, ti invito a metterti comodo e a dedicarti alla lettura delle righe successive. Chiaramente, tieni conto del fatto che, prima di programmare in maniera soddisfacente, dovrai incavolarti un bel po’ e, alle volte, anche fallire. Posso assicurarti, però, che alla fine potrai dirti più che soddisfatto di essere riuscito nel tuo intento. Buona lettura e buon divertimento!
Indice
Informazioni preliminari
Come ti ho spiegato nelle battute iniziali di questa guida, Java è un linguaggio di programmazione a oggetti estremamente potente e flessibile, che figura tra i più conosciuti e apprezzati in assoluto. Grazie alla sua natura, può adattarsi a innumerevoli impieghi: ti basti pensare che buona parte del sistema operativo Android è realizzata in Java e che, molto spesso, questo linguaggio viene impiegato anche per sviluppare software estremamente diffusi: per farti un esempio, il nuovo launcher di Fortnite è in Java.
Altro tratto distintivo di Java è la sua natura multi-piattaforma: i programmi scritti in questo linguaggio, infatti, possono essere eseguiti da qualsiasi sistema operativo desktop, previa installazione di un ambiente di esecuzione specifico denominato JRE (o Java Runtime Environment). Per scrivere un programma, come scoprirai tra breve, è invece necessario installare un’intera suite di librerie, applicazioni e componenti vari, che si chiama JDK (o Java Development Kit) e attualmente è fornita in licenza da Oracle.
Struttura di un programma Java
Come ogni linguaggio di programmazione, anche Java prevede una precisa logica e una sintassi ben definita. Prima di fornirti un esempio concreto di codice, lascia che ti elenchi, in modo breve ma efficace, quelle che sono le parti fondamentali di un file di codice Java.
Strutturalmente, un programma Java è un insieme di dichiarazioni di classi (o, nel caso di codice eseguibile composto da un solo file, è esso stesso una classe). Le classi non contengono direttamente delle istruzioni, ma sono generalmente composte da un insieme di metodi: si tratta di piccoli sotto-programmi nei quali vengono elencate le istruzioni, o statement (ciascuno statement termina con un “;”). Generalmente, il nome di una classe Java coincide con il nome del file che la contiene, il quale deve avere estensione .java.
I metodi di una classe non possono essere utilizzati in maniera diretta, ma possono essere invocati soltanto da altri metodi; per questo motivo, nelle classi che contengono il codice eseguibile di un Java, viene sempre definito un metodo speciale, denominato main, che può contenere al suo interno altri statement oppure richiamare metodi appartenenti alla stessa classe (o alle librerie importate): esso viene dichiarato con l’intestazione public static void main (String[] args)
ed è importante sottolineare che ciascuna classe può contenere al più un metodo di questo tipo. Un oggetto altro non è che un’istanza di una classe.
Con queste informazioni di base, dovresti essere in grado di comprendere agevolmente il contenuto di un semplice programma Java; tuttavia, per anticipare un po’ ciò che andrai ad affrontare, lascia che ti dia qualche altra nozione di base sull’argomento.
- Esistono alcune classi particolari, come le classi astratte, che contengono soltanto le definizioni dei metodi principali (a loro volta astratti); queste classi servono a definire lo “scheletro” di un programma, che verrà poi implementato mediante altre classi (alle quali verrà aggiunta la clausola
extends
). Le classi astratte si utilizzano principalmente per strutturare una categoria ben precisa di oggetti, da personalizzare poi a seconda delle esigenze del programma. Volendo considerare un esempio concreto, potresti definire quella dei veicoli una classe astratta (ciascun veicolo si accende, cammina, frena e così via), e la classe automobili un’estensione della classe veicoli. - Per semplificare la modifica, la manutenzione e l’aggiornamento dei programmi, in Java vengono spesse usate delle “classi speciali”, denominate interfacce: esse contengono la sola definizione dei metodi utili a istanziare il relativo oggetto, senza però implementarli. L’implementazione di un interfaccia avviene mediante una seconda classe, aggiungendo alla sua dichiarazione la clausola implements NomeInterfaccia (ad es.
public class Citroen implements Veicolo
). - Se un programma è composto da più classi, esse vengono generalmente raggruppate in package: il vantaggio di questi ultimi è la possibilità di richiamare i metodi di una classe da un’altra classe appartenente allo stesso package, senza il bisogno di specificarla ogni volta. Per convenzione, il nome di un package corrisponde al nome della cartella che contiene i file del programma.
- La classe che contiene il metodo main è l’unica a poter essere compilata: ultimato il processo di compilazione, viene generato un file binario eseguibile, che ha lo stesso nome della classe ma estensione .class.
- In alcuni casi, i package possono contenere cartelle differenti per classi e file binari.
- È possibile importare più package nella stessa classe, mettendo dunque a disposizione le altre classi e gli altri metodi definiti negli stessi, mediante la clausola
import
. - Classi e metodi possono essere pubblici (public) o privati (private): gli elementi pubblici possono essere richiamati anche da altre classi, anche appartenenti a package diversi (in questo caso, il package deve essere importato); gli elementi privati, invece, sono visibili soltanto all’interno della classe (o del package) in cui sono definiti.
- In alcuni frangenti, è conveniente “racchiudere” tutti i componenti di un programma Java (package, interfacce, classi e così via) in un unico pacchetto, in modo da facilitare l’esecuzione e la diffusione dei programmi. Solitamente, tali pacchetti hanno estensione .jar e possono essere eseguiti mediante un semplice doppio clic (a patto che la JRE/JDK sia installata sul PC in questione).
Come imparare Java
Fatta la doverosa panoramica su quelli che sono gli aspetti “chiave” del linguaggio di programmazione in oggetto, è arrivato il momento di entrare nel vivo di questa guida e di spiegarti, nel concreto, come imparare Java, muovendo i primi passi in questo sconfinato mondo.
Strumenti necessari
Innanzitutto, al fine di poter realizzare il tuo primo programma, devi avere a disposizione gli strumenti necessari per lo scopo. A tal proposito, è indispensabile avere un semplice editor di testo, come il Blocco Note installato “di serie” di Windows o TextEdit, presente invece “di serie” su macOS, unitamente al JDK che, come ti ho spiegato prima, è l’ambiente di sviluppo Java.
Per ottenere quest’ultimo, collegati a questa pagina Web e clicca sul pulsante Java Download, collocato al centro, in modo da accedere alla pagina contenente i file d’installazione di JDK. Successivamente, apponi il segno di spunta accanto alla voce Accept License Agreement, situata nel riquadro Java SE Development Kit x.y.z, e segui le istruzioni più adatte per il sistema operativo da te in uso.
Installare JDK su Windows
Se utilizzi Windows, clicca sul link jdk-x.y.z_windows-x64_bin.exe, in modo da scaricare il file d’installazione di JDK e, a download ultimato, avvialo. Per completare l’installazione di JDK, clicca in sequenza sui pulsanti Sì, Next per due volte consecutive e, per concludere, Close.
A installazione conclusa, devi regolare le variabili d’ambiente del computer, in modo che il compilatore Java sia raggiungibile facilmente, senza la necessità di immetterne ogni volta il percorso.
Per ottenere questo risultato, fai clic destro sull’icona Questo PC/Computer che si trova sul desktop di Windows (o nella barra laterale dell’Esplora File), seleziona la voce Proprietà dal menu visualizzato e clicca in seguito sulla voce Impostazioni di sistema avanzate, situata nella barra laterale di sinistra, nella schermata che va ad aprirsi.
Superato anche questo step, fai doppio clic sulla variabile Path situata nel riquadro delle Variabili di sistema, clicca sul pulsante Nuovo situato nella nuova finestra apertasi e, infine, digita all’interno della casella di testo proposta il percorso completo dei file binari di JDK (ad es. C:\Program Files\Java\jdk13.0.2\bin\
). Per concludere, premi più volte il tasto OK, in modo da chiudere tutte le finestre attive, confermando le modifiche applicate. Tieni presente che, in alcuni frangenti, potresti dover riavviare il computer al fine di confermare il tutto.
Installare JDK su macOS
Se, invece, impieghi macOS, fai così: una volta accettato l’accordo di licenza di JDK, clicca sul link jdk-x.y.z_osx-x64_bin.dmg, per avviare il download del file d’installazione di Java e, a scaricamento ultimato, lancia il suddetto file.
Ora, fai doppio clic sul file .pkg residente al suo interno e, per avviare l’installazione di JDK, clicca sui pulsanti Continua e Installa. Infine, inserisci la password di amministrazione del Mac all’interno dell’apposito campo e clicca sul bottone Chiudi, per finalizzare il tutto. In questo caso, l’impostazione delle variabili d’ambiente non è richiesta, in quanto i file necessari vengono automaticamente copiati nella cartella dedicata agli eseguibili di sistema.
Installare Eclipse
Per realizzare il tuo primo programma in Java, composto da una sola classe, gli editor di testo inclusi in Windows e macOS sono più che sufficienti. Tuttavia, per realizzare, organizzare e pubblicare codice mediamente complesso, potresti far riferimento a un IDE, ossia a un ambiente di sviluppo che include tutti gli strumenti necessari per lavorare in modo efficiente.
Uno degli ambienti di sviluppo Java più gettonati e utilizzati è Eclipse, un software completo pensato inizialmente per lo sviluppo in Java ma che, con il passare del tempo, è stato reso compatibile anche con altri linguaggi ampiamente usati (quali C, C++, C#, PHP, Perl, JavaScript e così via). Per poter utilizzare Eclipse al meglio, è indispensabile che sul computer sia installato l’ambiente di esecuzione JRE, oppure l’ambiente di sviluppo JDK (del quale ti ho parlato poc’anzi).
Chiarito questo aspetto, lascia che ti spieghi come procurarti il programma. Per prima cosa, collegati al sito Internet di Eclipse, pigia sul bottone Download 64 bit e poi di nuovo su Download, in modo da scaricare il pacchetto d’installazione del software.
Ultimato il download, avvia il summenzionato file e, se utilizzi Windows, premi il pulsante Sì, per superare le restrizioni di sicurezza del sistema operativo; se, invece, usi macOS, fai doppio clic sull’icona di Eclipse Installer annessa alla finestra visualizzata a schermo e, successivamente, clicca sul pulsante Apri.
A partire da questo momento, le procedure si equivalgono su entrambi i sistemi operativi: clicca sulla voce Eclipse IDE for Java Developers, per indicare la tua volontà di installare l’IDE dedicato a Java, premi i bottoni Install e Accept Now, apponi il segno di spunta accanto alla casella Remember accepted licenses e clicca sul pulsante Accept.
Infine, clicca sui pulsanti Select All e Accept Selected, in modo da accettare i certificati di sicurezza del programma, e il gioco è fatto! Per avviare subito il programma, premi il pulsante verde Launch situato nella finestra dell’installer; in alternativa, puoi usare le icone create sul desktop di Windows o nel Launchpad di macOS. Per ulteriori informazioni, ti invito a dare un’occhiata alla mia guida su come installare Eclipse.
Scrivere il primo programma: HelloWorld.java
Ora che disponi di tutto l’occorrente necessario, sei finalmente pronto per realizzare il tuo primo programma in Java! Per creare la classe che lo contiene (ossia il file sorgente in cui è dichiarato il metodo main), procedi nella maniera più opportuna, a seconda degli strumenti che hai scelto di utilizzare.
- Blocco Note (Windows) – avvia il software, richiamandolo dalla cartella Accessori Windows collocata nel menu Start, clicca sul menu File (in alto a sinistra) e scegli la voce Salva con nome… da quest’ultimo. Ora, digita il nome HelloWorld.java nella casella di testo Nome File e specifica, nel menu a tendina Salva come, la voce Tutti i file. Per comodità, scegli di salvare il file sul desktop.
- TextEdit (macOS) – avvia il Terminale, richiamandolo dalla cartella Altro del Launchpad (l’icona a forma di razzo situata sulla barra Dock), impartisci il comando
cd ~/Desktop
seguito dalla pressione del tasto Invio e, subito dopo, digita il comandotouch HelloWorld.java
, sempre seguito da Invio. Ora, minimizza la finestra del Terminale, senza chiuderla, e fai doppio clic sull’icona del file appena creato sulla Scrivania. - Eclipse (Windows/macOS) – dopo aver avviato il programma, clicca sul pulsante Launch per confermare la cartella di lavoro e recati nel menu File > New > Java Project, per creare il tuo primo progetto in Java. Compila poi il campo Name con il nome del tuo progetto (ad es. Primo Programma), apponi il segno di spunta accanto alla voce Use project folder as root for sources and class files e clicca sul pulsante Finish. A questo punto, fai clic sulla cartella del progetto appena creato, recati nel menu File > New > Package, assegna al package il nome helloWorld e clicca sul pulsante Finish. Ora, clicca sull’icona del package e, mediante il menu File > New > Class, crea la classe principale del programma, che devi chiamare HelloWorld.
A questo punto, digita il seguente codice all’interno della finestra dell’editor da te scelto.
import javax.swing.*;
public class HelloWorld {
public static void main(String[] args) {
JFrame finestra = new JFrame("Il mio primo programma Java");
JOptionPane.showMessageDialog(finestra, "Ciao, mondo!");
System.exit(0);
}
}
Se utilizzi Eclipse, prima di incollare il codice, elimina tutto il testo presente dopo la direttiva package helloWorld;
, onde evitare problemi.
Quando hai finito, provvedi a salvare la classe HelloWorld avvalendoti del menu File > Salva di Blocco Note/Text Edit, o del menu File > Save di Eclipse, e manda in esecuzione il programma attenendoti alla procedura più adatta all’editor da te scelto.
- Blocco Note (Windows) – avvia il Prompt dei comandi richiamandolo dalla cartella Strumenti di Windows del menu Start, digita il comando
cd %USERPROFILE%\Desktop
e premi il tasto Invio della tastiera, così da spostarti sul desktop. Ora, compila il programma impartendo il comandojavac HelloWorld.java
ed eseguilo mediante il comandojava HelloWorld
. - TextEdit (macOS) – riapri la finestra del Terminale minimizzata in precedenza e impartisci, in sequenza, i comandi
javac HelloWorld.java
ejava HelloWorld
, per vedere compilato ed eseguito il tuo programma. - Eclipse (Windows/macOS) – recati nel menu Run > Run e attendi che il programma venga compilato ed eseguito.
Come vedi, il programma mostra una semplice finestra di dialogo con su scritto “Ciao, mondo!”: hai visto, è stato davvero molto semplice!
Risorse utili
Come puoi facilmente intuire, il programma che abbiamo realizzato insieme rappresenta soltanto un primo, piccolissimo esempio di quello che è possibile fare con Java. Per approfondire il discorso su Java, ti consiglio di dare un’occhiata al tutorial tematico disponibile su HTML.it, costantemente aggiornato e ricco di guide ed esempi.
Una volta raggiunto un sufficiente grado di confidenza con i concetti di base di Java, ti consiglio inoltre di considerare l’acquisto di qualche manuale cartaceo, mediante il quale apprendere le modalità d’impiego dei costrutti più complessi (classi e metodi astratti, packages, interfacce, librerie, oggetti parametrizzati e così via). Di seguito te ne propongo alcuni, disponibili online.
Programmazione di base e avanzata con Java. Ediz. Mylab. Con Contenuto...
Programmare con Java 9. Guida completa. Con Contenuto digitale per dow...
Manuale di Java 9. Programmazione orientata agli oggetti con Java stan...
Dai fondamenti agli oggetti. Corso di programmazione Java. Con aggiorn...
Ti garantisco che, con il necessario studio e le dovute conoscenze, riuscirai a realizzare programmi che vanno ben al di là di una semplice finestra di dialogo.
In qualità di affiliati Amazon, riceviamo un guadagno dagli acquisti idonei effettuati tramite i link presenti sul nostro sito.
Autore
Salvatore Aranzulla
Salvatore Aranzulla è il blogger e divulgatore informatico più letto in Italia. Noto per aver scoperto delle vulnerabilità nei siti di Google e Microsoft. Collabora con riviste di informatica e cura la rubrica tecnologica del quotidiano Il Messaggero. È il fondatore di Aranzulla.it, uno dei trenta siti più visitati d'Italia, nel quale risponde con semplicità a migliaia di dubbi di tipo informatico. Ha pubblicato per Mondadori e Mondadori Informatica.