Questo sito contribuisce alla audience di Il Messaggero
Scopri le migliori offerte sul canale Telegram ufficiale. Guarda su Telegram

Che cosa è Java

di

Applicazioni, database, server cloud, supercomputer, sistemi operativi, console e uno dei videogiochi più famosi di sempre; cos’hanno in comune? Semplice, tutti loro sono stati concepiti utilizzando Java, il linguaggio di programmazione sviluppato da Oracle.

Ma che cos’è Java? Come funziona questo linguaggio di programmazione? E quali sono le risorse necessarie per programmare in Java al meglio? Queste e tante altre sono le domande che hanno attraversato la tua mente, alla ricerca di risposte e soprattutto di un’infarinatura generale sull’argomento.

Niente panico. Possono sembrare tante, troppe informazioni ma è proprio per questo che ti trovi in questa pagina: per imparare e scoprire le basi di Java. Certo, all’inizio non sarà facile ma con le giuste indicazioni diventerai un vero programmatore e scriverai la tua prima applicazione. Sei pronto? Allora partiamo!

Indice

Che cosa è Java

Codice Java

Come menzionato all’inizio, Java è un linguaggio di programmazione basato sugli oggetti molto popolare tra gli addetti ai lavori del mondo informatico. Nel corso degli anni il codice creato da Oracle si è rivelato versatile, di facile uso e adatto a qualunque sistema e dispositivo. Tra i vari esempi d’uso del linguaggio Java, ti informo che il linguaggio è stato utilizzato come base per Minecraft, il videogioco per creativi più venduto al mondo e che ispira milioni di giocatori da più di 10 anni. Java si trova anche all’interno di sistemi operativi d’uso quotidiano come Android. Insomma, si può dire che Java è un componente fondamentale per il corretto funzionamento di gran parte delle nostre attività.

Nei prossimi capitoli ti spiegherò i concetti base che compongono la struttura del linguaggio Java, indicandoti le nozioni necessarie sulla sua struttura. Così facendo, otterrai le competenze basilari per scrivere un piccolo programma in Java. Come in altri linguaggi a oggetti come C e Python, un programma creato con Java si avvale di una o più sorgenti, nelle quali vengono specificate le entità e le istruzioni da elaborare. E a meno che il programmatore non intervenga sul codice utilizzando funzioni particolari, il linguaggio Java elabora il tutto tramite un approccio sequenziale: in questo modo, tutte le istruzioni vengono eseguite nell’ordine in cui vengono scritte e indicate nel codice sorgente.

Statement e Sintassi di base

Lo statement (istanza) è la base della programmazione in Java: si tratta di quella che, in parole povere, è la singola istruzione completa in grado di elaborare i dati dell’utente e può svolgere diversi compiti: aggiungere, rimuovere e creare oggetti, oppure invocare una particolare funzione di Java. Esattamente come nella lingua italiana, anche lo statement possiede una sua punteggiatura, fatta di parentesi, virgolette e soprattutto del
punto e virtgola (;), necessario per concluderne la scrittura e renderlo leggibile dal codice.

Nei prossimi capitoli, ti mostrerò alcuni tipi di statement che potranno esserti utili.

Tipi di dati

Tipi di dati in Java

Una volta compresa la base di come si scrive su Java, è necessario che ti introduca ai vari tipi di dati con il quale avrai a che fare durante le tue esercitazioni. Come nel caso del linguaggio C, anche Java è in grado di gestire diversi tipi di dati elementari o definiti anche come primitivi, che possono essere assegnati alle variabili e permettere il corretto funzionamento del programma. Ecco un piccolo elenco dei tipi di dati più popolari e alcune informazioni su di loro.

  • char — è un dato che denota un singolo carattere del codice ed è in grado di occupare solamente 2 bit in memoria. Per esempio, una variabile di tipo char può essere rappresentata dallo statement char dato = “x”;
  • int — è un dato che denota i numeri interi ed è in grado di occupare 32 bit di dati e contenere valori che
    vanno da -2.147.483.648 a 2.147.483.647;
  • float e double — questi sono due tipi di dati dal funzionamento pressoché simile e vanno a identificare i numeri in virgola semplici e doppi, quindi rappresentati con la notazione IEEE 754 rispettivamente a 4 byte e 8 byte;
  • void — in Java, questo dato è utilizzato per identificare il non valore ovvero un’entità che non occupa spazio nella memoria. Solitamente, il dato di tipo void specifica valori di ritorno o valori di input che non dovrebbero essere previsti dal compilatore;
  • boolean — è un tipo di dato che può assumere solo due valori: true oppure false. In genere vengono utilizzati all’interno di un programma quando è necessario sapere se una certa condizione è stata raggiunta (true) oppure no (false).

Espressioni

Espressioni in Java

Le espressioni sono il tipo di statement più facile da individuare e soprattutto il più comune da utilizzare durante la scrittura di un programma in Java. In genere, le espressioni vengono utilizzate per generare, calcolare oppure assegnare un valore a una variabile. Inoltre, le espressioni possono essere indicate sul codice sia come valore numerico che come valore alfanumerico.

Ecco alcuni esempi di espressioni utilizzabili in Java.

  • punteggio = 90; — indica il valore di una variabile, in questo caso un punteggio;
  • x + y — 5; — si tratta di un espressione che indica un calcolo matematico tramite gli operatori “+” e “-”;
  • valore1 == valore2; — è un espressione che restituisce un dato di tipo boolean, e indica che la variabile “valore1” ha un valore uguale “valore2”.

Dichiarazioni

Dichiarazioni in Java

La dichiarazione è uno statement utilizzato per definire il nome e una tipologia di un dato che vogliamo prendere in considerazione. Come nel caso delle espressioni, anche le dichiarazioni posso essere indicate tramite variabili di tipo numerico, alfanumerico e booleano.

Eccoti alcuni esempi.

  • String nome = “franco”
  • int anno = 1984;
  • boolean flag = true;

Condizionali

Condizionali in Java

A differenza degli esempi precedenti, gli statement condizionali vengono utilizzati per decidere il flusso del codice Java, ovvero l’ordine in cui le varie operazioni verranno eseguite. Questo permette all’utente di manipolare il proprio programma mantenendo il proprio codice pulito e semplice da interpretare. Eccoti alcuni esempi di statement condizionali.

  • if — si usa per eseguire il codice solo se una specifica condizione viene soddisfatta (true);
  • else — esegue il codice una volta che una specifica condizione non viene soddisfatta (false);
  • else if — si usa per specificare una seconda condizione nel caso la prima non venisse soddisfatta;
  • switch — uno statement condizionale in cui al posto di utilizzare svariati “if” o “else” mette giù una serie di “case” da eseguire una volta soddisfatte delle specifiche condizioni.

Classi

Classi in Java

Come detto all’inizio di questa guida, Java è un linguaggio di programmazione costituito da oggetti, e il suo codice gira attorno alle interazioni tra di loro. E come nel caso dei dati, anche gli oggetti possono essere differenziati tra di loro a seconda del loro utilizzo e del loro funzionamento nel codice. Per farlo abbiamo quindi bisogno di creare delle classi, ovvero la definizione di un tipo di oggetto.

Per farlo, avrai bisogno di utilizzare l’istruzione class all’interno dell’editor di testo, utilizzando le parentesi graffe per definire le sue proprietà.

class Nuovaclasse {
...
}

Una volta che hai definito la classe, è possibile eseguire uno statement per associare un oggetto alla nuova classe, utilizzando l’istruzione new. Utilizzando le parentesi tonde alla fine dello statement potrai personalizzarne i parametri, oppure non scrivere nulla e lasciare che l’oggetto erediti quelli definiti in precedenza, alla creazione della classe.

NuovoOggetto = new Nuovaclasse();

Metodi

Metodi in Java

Fino ad adesso ti ho illustrato i vari elementi che compongono un codice basilare di Java e il loro funzionamento. Tuttavia, un programma scritto tramite questo linguaggio è formato da più statement (o istanze), e che possono includere uno o più tipi diversi di dati. E ti dirò di più, all’interno del codice sorgente è possibile raggruppare tutti questi elementi all’interno di un sottoprogramma o metodi, che potranno poi essere richiamato ed eseguito più volte.

Eccoti un esempio di un metodo molto basilare. Per prima cosa è necessario definire il modificatore d’accesso necessario per far intendere all’editor che il metodo che stai per creare sarà public static, e quindi visibile a ogni oggetto e classe; fatto questo, specifica il tipo di dato che verrà restituito durante l’esecuzione del metodo; definisci il nome del metodo e la sua lista di parametri che andrai a utilizzare. Il risultato finale sarà molto simile a questo.

public static int NomeMetodo(int a, int b){
...
}

Esempi di codice funzionante

Codice funzionante in Java

Ora che hai ricevuto un’infarinatura generale su come funziona il codice di Java, è arrivato il momento di provare a mettere in pratica tutte queste nozioni con qualche esempio più strutturato. Sei pronto? Allora andiamo. Ecco a te l’esempio più classico di tutti, la versione in Java del sempreverde Hello World!.

public class Test {

	public static void main(String[] args){

		System.out.println("Hello, World!");
	
	}
}

Una volta creata la classe Hello, è necessario effettuare la dichiarazione del metodo main e il suo parametro formale (String[] args), specializzato nel passaggio di informazioni all’interno del codice sorgente. Infine, il comando System.out.println(“Hello, World!”); permetterà al programma di restituire l’output desiderato, ovvero “Ciao Mondo!”

Ecco qui invece un programma per il conteggio dei numeri primi, tramite l’utilizzo di semplici operazioni aritmetiche.

public class NumeriPrimi{    
 public static void main(String args[]){    
  int i,m=0,flag=0;      
  int n=3; 
  m=n/2;      
  if(n==0||n==1){  
   System.out.println(n+" non \u00E8 un numero primo");      
  }else{  
   for(i=2;i
    if(n%i==0){      
     System.out.println(n+" non \u00E8 un numero primo");      
     flag=1;      
     break;      
    }      
   }      
   if(flag==0)  { System.out.println(n+" \u00E8 un numero primo"); }  
  }//end of else  
}}/code>

Come vedi, ho usato \u00E8 al posto della “è”, che potrebbe dare problemi nella corretta riproduzione del codice.

Sei riuscito a comprenderne il funzionamento? In caso contrario, non demordere! Continua a esercitarti e vedrai che dopo un paio di tentativi anche tu sarai in grado di scrivere un programma come questo!

Che cos’è la Java Virtual Machine

Logo Java Virtual Machine

Durante gli scorsi capitoli ti ho illustrato la struttura e come giostrarsi nella scrittura del codice di un programma compilato nel linguaggio Java. Ma come può questo programma essere eseguito? Beh, sappi che per questo compito spetta a un componente software in grado di interpretare il codice Java scritto all’interno dell’editor di testo o del compilatore e renderlo leggibile per il sistema operativo utilizzando il bytecode meglio noto come codice binario. Una vera e propria macchina virtuale e che guarda caso di nome fa proprio Java Virtual Machine (JVM).

In questo capitolo quindi ci concentreremo sull’installazione della Java Virtual Machine e sull’esecuzione dei programmi JAR. Cominciamo!

Windows

Java Virtual Machine in Windows

Installare la Java Virtual Machine su Windows è molto semplice e anzi, se hai già avuto qualche esperienza con Java potresti averla già installata sul tuo sistema operativo. Questo perché la JVM è un componente software che viene aggiunto automaticamente durante l’installazione del Java Runtime Environment (JRE).

Per installare la JRE su Windows, collegati al sito ufficiale di Java e cliccare sulla voce Download, per accedere alla pagina dedicata all’archiviazione dei file di installazione. A seconda dell’architettura in tuo possesso se (32 o
64bit), scegli la versione più adatta a te e scaricala cliccando sul pallino rosso visibile. Una volta scaricato il file .exe, avvialo e segui la procedura d’installazione.

Dopo aver confermato l’accesso, cliccando sulla voce durante il controllo del sistema di sicurezza di Windows, darai inizio al processo di installazione. Per procedere, clicca su Installa per iniziare la procedura d’installazione che durerà pochi secondi. Al termine della procedura, il sistema avrà bisogno di essere riavviato per permettere il salvataggio delle nuove modifiche.

Una volta che avrai installato la Java Runtime Environment, tutto quello che dovrai fare per avviare la Java Virtual Machine sarà selezionare il file JAR cliccando due volte con il mouse. In alternativa, puoi premere il tasto destro, selezionare la voce Apri con, specificare l’avvio del programma con Java e confermare la tua scelta cliccando su Ok. Maggiori info qui.

macOS

Java Virtual Machine in macOS

Per quanto riguarda i Mac, l’installazione di Java Runtime Environment è altrettanto semplice. Dopo aver raggiunto la pagina del download del programma, clicca sulla voce Mac OS X (versione 10.7.3 e successive) per scaricare il file d’installazione sotto forma di pacchetto .dmg. Apri, quindi quest’ultimo e lancia l’eseguibile contenuto al suo interno. Procedi poi nell’installazione cliccando sulla voce Installa, sblocca l’accesso al sistema operativo inserendo la password di amministrazione (o usando il Touch ID) e conferma il tutto cliccando su Ok.

Una volta completato il processo d’installazione, ti basterà selezionare il file JAR cliccando con il tasto destro e selezionando la voce Apri dal menu contestuale, in modo da aggirare i controlli di sicurezza per le app non certificate da macOS e avviare il programma. In alternativa, puoi aprire il Terminale di macOS e digitare il seguente comando.

java -jar [percorso e nome del file JAR]

Che cos’è JavaScript

JavaScript

In questa guida ti ho mostrato le basi della programmazione tramite linguaggio Java, tuttavia durante le tue ricerche ti sei spesso imbattuto in un altro termine a te finora sconosciuto: JavaScript. Ebbene, nonostante i due linguaggi condividano parte dei loro nomi, non c’è un’effettiva correlazione tra Java e JavaScript se non quella del loro eventuale utilizzo in ambito Web.

A differenza di Java, JavaScript è un linguaggio di programmazione basato sugli eventi, con un funzionamento del tutto diverso e altrettanto complesso. Ci vorrebbe un’intera guida a parte per illustrarti anche solo le basi di JavaScript. E quindi se sei comunque interessato a scoprire ulteriori informazioni e consigli su JavaScript, ti consiglio di dare un’occhiata a risorse specifiche, come i Corsi di programmazione offerti da Aulab, di cui ti ho parlato in modo dettagliato nella guida che ti ho appena linkato.

Risorse utili

Risorse utili

Ora che hai ricevuto un’infarinatura generale sulle basi e ti sei fatto una buona idea su che cosa è Java, è arrivato il momento della verità e valutare se intraprendere o meno la carriera di programmatore sfruttando i segreti di questo linguaggio. A questo proposito, vorrei consigliarti alcune risorse utili che potranno aiutarti a migliorare le tue abilità, oltre che accrescere le tue conoscenze in merito.

  • Notepad++ — uno degli editor per la programmazione più leggeri e versatili disponibili per l’ambiente Windows. Oltre a Java, Notepad++ supporta diversi linguaggi di programmazione.
  • Eclipse — framework di programmazione e dedicato all’organizzazione, archiviazione e gestione dei propri progetti e codici sorgenti. Oltre a Java, supporta diversi tipi di linguaggi di programmazione e diversi tipi di file ed estensioni. Ideale per lavorare in squadra.
  • Guida a Java di HTML.it — una delle migliori risorse gratuite disponibili e soprattutto in italiano. All’interno di questa pagina, troverai approfondimenti e nuove nozioni per ampliare ciò che hai imparato.
  • Il nuovo Java. Guida completa alla programmazione moderna — uno dei testi più esaustivi e completi per imparare e scoprire tutto quello che c’è da sapere sulle ultime versioni di Java. Il testo è stato redatto da Claudio De Sio Cesani, docente di informatica universitario e che lavora a diretto contatto con Oracle nel ruolo di Trainer. Chi meglio di lui come professore?
  • Java: La guida in 7 giorni più completa per principianti alla programmazione moderna con java — un ottimo testo per i programmatori di Java alle prime armi, con gli strumenti necessari per permettere a chiunque di imparare le basi in poco più di 7 giorni. Il libro include anche un glossario, molto utile anche per gli utenti più esperti e bisognosi di un piccolo ripasso.
JAVA: La guida in 7 giorni più completa per principianti alla programm...
Vedi offerta su Amazon

In qualità di affiliati Amazon, riceviamo un guadagno dagli acquisti idonei effettuati tramite i link presenti sul nostro sito.

Salvatore Aranzulla

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.