Il corso introduce i partecipanti alla programmazione orientata agli oggetti con elementi essenziali della programmazione funzionale e modulare utilizzando il linguaggio Java. Tramite le esercitazioni pratiche si acquisiscono le solide conoscenze del moderno linguaggio di programmazione Java. Questo vi permette di lavorare e di continuare la formazione professionale nel mondo delle tecnologie Java.
Il corso è aggiornato alle versioni Java SE 8, 9 e 10.
Le esercitazioni pratiche previste nel corso verranno eseguite utilizzando il moderno ambiente di sviluppo integrato (IDE) NetBeans™.
Le competenze acquisite includono:
- Utilizzare i costrutti del linguaggio Java per creare le applicazioni Java.
- Utilizzare i costrutti decisionali, cicli e metodi per definire il flusso di esecuzione del programma.
- Utilizzare le caratteristiche object oriented del linguaggio Java, quali incapsulamento, ereditarietà, polimorfismo e astrazione.
- Scrivere il codice per la gestione delle eccezioni e creare le eccezioni personalizzate.
- Utilizzare il codice generico e il Java Collections Framework.
- Utilizzare le espressioni lambda.
- Utilizzare i flussi (streams).
- Capire la programmazione modulare.
Il corso è rivolto a coloro che vogliono acquisire le conoscenze fondamentali relative alla programmazione Java anche senza avere delle basi relative alla programmazione Object Oriented.
- Software Developer
- Project Manager
- System Administrator
- Java EE Application Server Administrator
- Team Leader
- Technical Administrator
- Technical Consultant
- Web Administrator
Introduzione a Java
- Introduzione al linguaggio Java
- La Java Virtual Machine
- Il Development kit JDK, le versioni
- Gli ambienti di sviluppo integrati (Net Beans, Eclipse, altri)
I blocchi di costruzione dei programmi Java
- Scrivere il metodo main()
- Utilizzare le variabili e gli operatori
- Capire la struttura delle classi Java: campi, metodi e costruttori
- Scrivere i commenti e la documentazione javadoc
- Capire le package declaration e le istruzioni import
- Dichiarare, istanziare e inizializzare gli oggetti
- Lavorare con i riferimenti a oggetti
- Utilizzare gli array
- Capire la differenza fra tipi primitivi e tipi riferimento
- Promozione e casting (conversione del tipo) delle variabili e degli oggetti
- Come si distruggono gli oggetti, Garbage Collection automatico, il metodo finalize()
Operatori e costrutti di controllo del flusso
- Conoscere gli operatori e le istruzioni Java if-then, if-then-else, switch, while, do-while, for, for-each.
- Cicli nidificati, etichette, istruzioni break e continue.
Principali API Java
- Il pacchetto java.lang, la classe Object.
- Le classi Wrapper dei tipi semplici, autoboxing e unboxing.
- La classe String.
- Java Array e la classe ArrayList
- Lavorare con le date e il tempo.
Programmazione orientata agli oggetti – Incapsulamento e metodi
- Progettare i metodi: argomenti e valori restituiti
- Metodi e variabili static
- Passaggio degli argomenti ai metodi
- Overloading dei metodi
- Lavorare con i varargs
- Costruttori parametrizzati
- Incapsulamento dei dati, metodi get() e set(), modificatori di accesso public, protected, default, private
Programmazione orientata agli oggetti – Ereditarietà e polimorfismo
- Ereditarietà delle classi
- Overriding dei metodi della superclasse
- Polimorfismo
- Creare ed estendere una classe astratta
Interfacce
- Il paradigma Design By Contract
- Interfaccce: metodi di default
- Interfacce: metodi static
- Ereditarietà e polimorfismo con le interfacce
Eccezioni
- Principi della gestione delle eccezioni, blocchi try-catch-finally e try-with-resources
- Gestire le eccezioni multiple.
- Propagazione delle eccezioni, clausola throws ed istruzione throw
- Capire i tipi comuni di eccezioni
- Creare le eccezioni personalizzate.
Generics e Collections Framework
- Classi generiche e metodi generici
- Le interfacce e le classi principali del Java Collections Framework
Elementi della programmazione funzionale
- Interfacce funzionali ed espressioni lambda
- Collezioni, flussi (stream) e filtri
- Le interfacce funzionali della libreria standard
Elementi della programmazione modulare
- Il sistema modulare
- I JAR
- Dichiarazione di moduli
- JDK modulare