back to top

Guida Java

Eclipse: un editor per scrivere codice Java

Per scrivere un generico programma in Java basta semplicemente aprire il blocco note di Windows, scrivere il codice e salvarlo con estensione .java. Quella citata è, a mio avviso, una buona soluzione qualora si desideri scrivere piccoli codici a scopo puramente didattico... tuttavia, è altrettanto importante prendere immediatamente familiarità con IDE di sviluppo potenti, in quanto per sviluppare applicazioni...

Caratteristiche di Java

In questo terzo capitolo della nostra guida a Java faremo una breve carrellata delle caratteristiche principali del linguaggio. Sintassi - La sintassi del Java è molto simile a quella del C e del C++ (con ovvie differenze) e quindi, per un programmatore, non è molto traumatico il passaggio dai linguaggi sopracitati al Java. Gestione di eccezioni e memoria - Il Java...

Programmazione ad oggetti in Java: classi e istanze

Come abbiamo precedentemente detto, Java è un linguaggio puramente Object Oriented e, come tale, ci impone questo tipo di logica strutturale. Quindi se il lettore ha solide conoscenze di programmazione procedurale dovrà solamente adattare queste competenze al paradigma della programmazione ad oggetti. Diciamo che la logica della programmazione ad oggetti si basa su due concetti principali: Classe: una classe è un'astrazione...

Classi ed oggetti: un esempio pratico in Java

Entriamo adesso nel vivo della trattazione spiegando come si creano classi ed oggetti in Java. Creiamo la nostra classe "Numeri" con due attributi "numeroX" e "numeroY": public class Numeri { public int numeroX; public int numeroY; } Come si può vedere un attributo viene dechiarato sencondo la sintassi: ModificatoreDiVisibilità (nell'esempio public), TipoDellaVariabile (nell'esempio int), NomeVariabile(numeroX e numeroY). Per quanto riguarda...

I Metodi in Java

Fino a questo momeno abbiamo utilizzato la parola metodo, ma ancora non abbiamo definito cosa sia in realtà un metodo, come si dichiara e come lo si richiama. Un metodo appartenente ad una certa classe ed è una sorta di funzione che all'interno contiene un blocco di codice che esegue alcune operazioni. La sintassi per la dichiarazione di un metodo...

Le variabili in Java

Iniziamo con definire il concetto di variabile. Una variabile non è altro che una locazione di memoria nel quale viene salvato un determinato dato. Il nome con cui viene identificata una variabile, per esempio la variabile "numeroX degli esempi precedenti, rappresenta l'indirizzo fisico in memoria in quella locazione. Non tutte le variabile però sono uguali, infatti a seconda del punto...

Tipi di dato in Java

Sospendiamo adesso la trattazione della programmazione ad oggetti introducendo nelle prossime lezioni concetti indispensabili come i tipi di dato, operatori, istruzioni condizionali e cicli. I tipi di dati si suddividono in Integrali, a Virgola mobile ed Espressivi. Tipi di dati Integrali byte = 8 bit = valori da -128 a 127 incluso short = 16 bit = da -32768 a 32767 incluso int =...

Operatori matematici e di confronto in Java

Naturalmente, per poter effettuare delle operazioni tra le variabili dobbiamo utilizzare dei caratteri "speciali" che prendono il nome di operatori. Gli operatori si dividono in operatori matematici e operatori di confronto. Di seguito elenchiamo gli operatori principali e di più comune utilizzo. Operatori matematici Questi gli operatori matematici: + addizione (o anche concatenazione di stringe) - sottrazione / divisione * moltiplicazione ++...

Java if e switch: i costrutti condizionali

Nella lezione precedente della nostra guida abbiamo visto come è possibile utilizzare gli operatori per svolgere operazioni con le variabili. In questa lezione analizziamo nel dettaglio cosa sono e come possiamo scrivere delle istruzioni condizionali in Java. Nello specifico passeremo in rassegna i costrutti condizionali if e switch. if... else if... else Il costrutto if (se) è uno dei costrutti...

Java: operatore ternario

L'operatore ternario di Java è un costrutto condizionale che produce risultati analoghi al costrutto if ... else ... richiedendo, tuttavia, molto meno codice rispetto a quest'ultimo. Si tratta di una forma "sintetica" (occupa una sola linea di codice) attraverso la quale esprimere una condizione del tipo se ... altrimenti ..... L'operatore ternario viene usato prevalentemente in fase di assegnazione di...

Java: cicli for e while

In Java esistono due tipi di cicli (operazioni ripetute più di una volta): il ciclo for e il ciclo while. In questa lezione vedremo come gestire le iterazioni con Java utilizzando, appunto, i due costrutti citati. Il ciclo for Il ciclo for viene utilizzato in Java quando si vuole eseguire delle operazioni un numero determinato (già conosciuto) di volte. La sintassi...

Gli Array in Java

Come abbiamo preannunciato è possibile avere più di un valore associato ad una variabile, come una lista di valori; questo è possibile grazie agli Array. In questo articolo vedremo, quindi, come gestire gli Array in Java. Col termine Array (anche detto vettore) viene indicato, nella programmazione, un gruppo di elementi che viene dichiarato inizialmente specificandone il numero. Un Array può...

I costruttori in Java

A questo punto della guida abbiamo dato gli strumenti essenziali al lettore per poter scrivere delle applicazioni di elementare complessità. Torniamo adesso ad accuparci della programmazione ad oggetti definendo il concetto di metodo costruttore. Un costruttore di una classe, prima di tutto, viene definito con lo stesso nome della classe e una caratteristica che lo differenzia da un normale metodo...

Java: astrazione e Incapsulamento

Il concetto di programmazione ad oggetti è un concetto molto esteso e fino a questo momento abbiamo toccato solo alcuni aspetti abbastanza superficiali tant'è che, magari, un programmatore devoto alla programmazione procedurale potrebbe non averne ancora apprezzato i vantaggi. Diciamo che elemento essenziale della programmazione ad oggetti è l'astrazione ovvero il processo per il quale descriviamo in maniera essenziale...

Incapsulamento Java: un esempio pratico

In questa lezione metteremo in atto i principi dell'incapsulamento esposti precedentemente. Come prima cosa bisogna rendere gli attributi della classe in maniera tale che non siano direttamente accessibili dall'esterno. Ciò si ottiene dichiarando gli attributi della classe usando il modificatore di visibilità private. Usando il private si rendono gi attributi della classi visibili solo ed esclusivamente all'interno della classe,...

Ereditarietà in Java

Andiamo adesso ad analizzare un altro strumento molto potente che ci mette a disposizione la programmazione ad oggetti ovvero l'eriditarietà. Utilizzando questo strumento potremo ereditare codice scritto in una classe ed ampliarlo, ottenendo così un'estensione della classe dalla quale abbiamo eriditato il codice. Facciamo subito un esempio per comprendere al meglio il concetto esposto precedentemente: public class Dipendente { public...

Polimorfismo Java: overload e override dei metodi

Il polimorfismo è un altro concetto fondamentale della programmazione ad oggetti e risulta essere anche quello più ostico per la piena comprensione della sua utilità. Il concetto di polimorfismo è relativo proprio al suo significato ovvero avere più forme, più aspetti. Per chiarire il concetto possiamo fare un semplice esempio di applicazione del polimorfismo nella vita reale: quando...

Polimorfismo e costruttori in Java

Nella lezione dedicata ai costruttori di una classe abbiamo detto che i costruttori altro non sono che dei metodi speciali che vengono richiamati ogni qualvolta viene effettuata l'istanza di una classe. Dato che comunque appartengono alla famiglia dei metodi sarà possibile utilizzare le tecniche di overload ed override? L'overload di un costruttore è possibile ed è un metodo molto potente...

Java: i modificatori final e static

Abbiamo fino a questo momento parlato degli aspetti principali della programmazione ad oggetti. Prima di analizzare l'ultimo concetto, le interfacce, è bene capire che effetto hanno i modificatori final e static nei vari contesti in cui sono inseriti. Il modificatore final Il modificatore final è molto semplice da comprendere in quanto le implementazioni possibili sono legate alla sua traduzione letterale: finale...

Java: il modificatore abstract (e le classi astratte)

Il modificatore abstract diciamo che è l'antitesi del modificatore final. Abstract può essere applicato sia a metodi che alle classi, ma non a variabili in quanto dichiarare una variabile astratta non avrebbe nessun senso logico. Iniziamo con il dire che se vogliamo definire un metodo astratto, dobbiamo variare la sintassi per la scrittura di tale metodo in quanto dovremo...

Le interfacce in Java

Andiamo adesso ad analizzare l'ultimo dei concetti relativi alla programamzione ad oggetti, ovvero le interfacce. Molto spesso le interfacce vengono confuse con le classi astratte dato che dal punto di vista logico sono molto simili, ma le interfacce possono essere intese come un'evoluzione delle classi astratte e permettono, di fatto, di simulare l'ereditarietà multipla. Il vantaggio principale di una interfaccia,...

Gestione delle eccezioni in Java

Abbiamo finito la nostra carrellata sulla programmazione ad oggetti e abbiamo visto, tramite del codice di esempio, alcune implementazioni in Java. A questo punto della guida, il lettore ha tutte le basi per poter strutturare applicazioni, anche di grosse dimensioni, con un approccio ingegneristico. Chiaramente, forniti i mezzi, il lettore dovrà fare esperienza pratica per poter padroneggiare al meglio...

Gestire le eccezioni in Java: il blocco try-catch

Entriamo subito nel vivo della trattazione per quanto riguarda il costrutto try e catch. Praticamente nel blocco try deve essere inserito il pezzo di codice che potrebbe generare un'eventuale eccezione e nel blocco catch il codice di gestione dell'eccezione (come per esempio una stampa a video che notifichi all'utente che si è verificato un errore). Vediamo adesso come modificare...

Thread e multi-threading in Java

In questa parte della guida affrontiamo come gestire i thread in Java e, conseguentemente, come sviluppare applicazioni definite multithreading. Per prima cosa diamo una definizione di thread. In maniera abbastanza approssimativa si può dire che in Java viene creato un thread ogni qual volta mandiamo in esecuzione una classe con il metodo main() all'interno. Dunque, il thread conterrà tutto il...

Uso dei Thread in Java

Andiamo adesso, con un esempio pratico, a mostrare al lettore in che modo si crea un thread in Java utilizzando ambo le strade percorribili. Thread come oggetti di sottoclassi della classe Thread Dato che dovremo estendere la classe Thread, per capire cosa dobbiamo fare bisogna sapere come è fatta la classe Thread che il Java ci mette a disposizione. Nocciolo della...

Java: gestione di più thread contemporaneamente

Per capire come la JMV gestisce la presenza di pià thread in esecuzione contemporaneamente, la cosa migliore da fare è modificare l'esempio precedente e vedere l'output a schermo relativo. Dunque modificheremo la classe "EsempioThread" nel modo seguente: public class EsempioThread implements Runnable { private int numeroThread; public EsempioThread(int n) { setNumeroThread(n); } ...

Java: i pacchetti indispensabili

Indispensabili per lo sviluppatore sono le API J2SE raggiungibili a all'indirizzo: http://java.sun.com/j2se/1.5.0/docs/api/. Tutti i pacchetti aggiornati alla versione 1.5, sono dettagliatamente descritti con sintassi ed esempi di utilizzo. Aprendo il sito delle API il browser si dividerà in tre pannelli essenziali per la navigazione: in alto nella colonna di sinistra troviamo la lista dei Packages; in basso, sempre nella colonna di sinistra,...

Gestire le connessioni ai database con JDBC

La tecnologia Java ha ottenuto anche molto successo grazie all'accesso al Database JDBC, concorrenziale all'ormai noto ODBC. Nell'otitca multipiattaforma le connseeioni JDBC sono studiate per potersi collegare a qualsiasi motore database, indipendentemente da esso e dalla piattaforma di utilizzo. La rivoluzione stà proprio nel fatto che nessuna riga di codice dovrà essere cambiata nel caso si cambi il DBMS utilizzato:...

Le applet

Oltre a sviluppare potenti applicazioni, con Java è possibile realizzare semplici o complesse Applet, che si possono inserire facilmente nelle proprie pagine web, grazie anche ad un TAG HTML preposto dalla W3C ovvero: <applet>. Cosa sono le Applet? Semplice, un riquadro (interno ad una comune pagina web) sviluppato in Java utilizzando le famose tecniche grafiche offertaci dal pacchetto java.awt.. Questo Package...

Un esempio di applet: inviare una mail

Per poter inviare una email grazie all'interfaccia grafica disponibile con le Applet bisogna utilizzare il Package java.net che include la possibilità di dialogare con un Socket in internet, più precisamente aprire il Socket sulla porta 25 (di default) che si preoccupa di inviare i mesasggi di posta elettronica, la porta 25 o meglio il protocollo SMTP deve ricevere comandi...