Introduzione
  • IMPORTANTE: Prima di iniziare sappi che...
  • Software utilizzato nel corso
  • Introduzione a Java
  • JRE - JDK - Ambienti di sviluppo
  • Come installare il JDK su Windows
  • UPDATE (17-04-2020) - Configurazione JDK
  • Come installare Eclipse su Windows
  • Come installare il JDK ed Eclipse su Mac OSX
  • Panoramica su Eclipse - Parte I
  • Panoramica su Eclipse - Parte II
  • Il primo programma Java: il calcolatore
  • Materiale utile - sorgenti del software creato, slide delle lezioni, ecc...
  • Cos’è il software e quali sono le metodologie di sviluppo: Waterfall vs Agile
  • Mettiti alla prova
I primi passi
  • Il tuo programma Java
  • Compilazione ed Esecuzione del programma
  • Debug del software con Eclipse
  • Organizzazione del codice
  • Java Keywords ed espressioni
  • Mettiti alla prova
Variabili, tipi di dato, metodi, operatori e modificatori
  • Cosa sono le variabili e i tipi di dato
  • I tipi di dato primitivi: byte, short, int, long, float, double, char, boolean
  • La classe String
  • Gli operatori
  • Cosa sono i metodi e come utilizzare i varargs
  • I modificatori: public, private, protected, default, final, static
  • Mettiti alla prova
Sintassi, Naming e Code conventions, Packages, Commenti e JavaDoc
  • Sintassi
  • I packages
  • Naming e Code convention
  • Come commentare il codice sorgente
  • Creare la documentazione con JavaDoc
  • Mettiti alla prova
Control Flow Statements
  • I comandi condizionali: if-else, switch-case
  • Il comando di ritorno di valori: return
  • I comandi di ciclo: while, do - while, for
  • I comandi di interruzione di ciclo: break, continue
  • Mettiti alla prova
OOP Parte I - Classi, Costruttori e principi dell'OOP
  • Cos'è la Programmazione ad oggetti e quali sono i concetti alla base
  • Cosa succede a livello hardware
  • Java ed il Garbage collector
  • Concetto di classe ed oggetto
  • Attributi e metodi di una classe
  • I costruttori di una classe
  • Accesso agli attributi di una classe
  • La keyword "instanceof"
  • La classe Object - Introduzione
  • La classe Object - Il metodo getClass()
  • La classe Object - I metodi toString() e equals(Object o)
  • Mettiti alla prova
OOP Parte II - Incapsulamento, Ereditarietà, Polimorfismo
  • L'ereditarietà
  • L'incapsulamento
  • Il polimorfismo
  • Applicazione pratica dei concetti di Ereditarietà, Incapsulamento e Polimorfismo
  • Utility Eclipse per implementare la programmazione ad oggetti
  • L'operatore "super"
  • Mettiti alla prova
Relazioni tra classi - Associazione, Aggregazione, Composizione
  • Cosa sono le relazioni tra classi
  • Associazione
  • Aggregazione
  • Composizione
  • Mettiti alla prova
Gestione errori ed eccezioni
  • Cosa sono le eccezioni
  • I meccanismi di gestione delle eccezioni
  • try - catch - finally
  • throw
  • throws
  • Mettiti alla prova
Array, Liste e Collection, classi wrapper, Autoboxing e Unboxing
  • Cosa sono le liste e quali sono gli strumenti per gestirle
  • Gli array
  • Le interfacce Collection e List
  • La classe ArrayList
  • La classe HashMap e la classe Properties (usata per i file di configurazione)
  • L'interfaccia Iterator
  • Come iterare una lista: for, for each, iterator
  • Le classi wrapper
  • Boxing, Autoboxing e Unboxing
  • Mettiti alla prova
Interfacce, Classi astratte, Classi inner
  • Interfacce
  • Classi astratte
  • Classi inner, classi locali e classi anonime
  • Approfondimento sulla classe Inner
  • Mettiti alla prova
Java Generics ed Annotation
  • Cosa sono i Java Generics
  • Cosa sono le Annotations
  • Mettiti alla prova
Input/Output e gestione dei file
  • Introduzione alla gestione dei file