Programmazione · Base

Java Essential

Percorso introduttivo alla programmazione a oggetti in Java: dai fondamenti del linguaggio alla gestione di classi, ereditarietà ed eccezioni, con esercizi guidati per ogni lezione.

10 lezioni 30 ore totali livello base → intermedio 30 esercizi
01 Introduzione a Java e alla programmazione a oggetti 3 ore ➤

Obiettivi

  • Distinguere JDK, JRE e JVM
  • Compilare ed eseguire il primo programma
  • Comprendere il ciclo edit-compile-run

Esercizi

  • BaseInstallare il JDK e verificare la versione da riga di comando
  • BaseScrivere ed eseguire un programma “Hello World” parametrico
  • IntermedioConfrontare compilazione ed esecuzione in Java rispetto a un linguaggio interpretato
02 Variabili, tipi di dato e operatori 3 ore ➤

Obiettivi

  • Utilizzare i tipi primitivi e le conversioni
  • Applicare operatori aritmetici, relazionali e logici
  • Gestire input da tastiera con Scanner

Esercizi

  • BaseCalcolatrice di espressioni con operatori misti
  • BaseConversione di temperature con cast espliciti
  • IntermedioValidazione dell'input numerico da console
03 Strutture di controllo 3 ore ➤

Obiettivi

  • Costruire condizioni con if/else e switch
  • Realizzare cicli for, while e do-while
  • Scegliere la struttura adatta al problema

Esercizi

  • BaseClassificatore di voti con if/else annidati
  • BaseTabellina e sequenza di Fibonacci con cicli for
  • IntermedioMenu testuale a ciclo con switch e uscita controllata
04 Array e stringhe 3 ore ➤

Obiettivi

  • Dichiarare e manipolare array mono e bidimensionali
  • Usare i metodi principali della classe String
  • Applicare algoritmi di ricerca e ordinamento di base

Esercizi

  • BaseStatistiche (min, max, media) su un array di voti
  • BaseRicerca e conteggio di occorrenze in una stringa
  • IntermedioOrdinamento a bolle di un array e verifica dei passaggi
05 Metodi e passaggio dei parametri 3 ore ➤

Obiettivi

  • Progettare metodi con parametri e valore di ritorno
  • Comprendere l'overloading
  • Distinguere passaggio per valore e per riferimento

Esercizi

  • BaseLibreria di metodi matematici (MCD, MCM, primalità)
  • IntermedioOverloading di un metodo di stampa per tipi diversi
  • AvanzatoEffetti collaterali nel passaggio di array ai metodi
06 Classi e oggetti: i fondamenti dell'OOP 3 ore ➤

Obiettivi

  • Modellare entità reali con classi Java
  • Distinguere attributi, metodi e istanze
  • Introdurre il concetto di stato di un oggetto

Esercizi

  • BaseClasse Studente con attributi e metodo di stampa
  • BaseClasse Prodotto con calcolo di prezzo scontato
  • IntermedioGestione di un piccolo archivio di oggetti in un array
07 Incapsulamento e costruttori 3 ore ➤

Obiettivi

  • Applicare i modificatori di visibilità
  • Progettare costruttori multipli
  • Usare getter e setter con validazione dei dati

Esercizi

  • BaseClasse ContoCorrente con saldo protetto e validazioni
  • IntermedioCostruttori multipli per la classe Prodotto
  • IntermedioRefactoring di una classe pubblica in una versione incapsulata
08 Ereditarietà e polimorfismo 3 ore ➤

Obiettivi

  • Costruire gerarchie di classi con extends
  • Usare l'override e il polimorfismo
  • Applicare classi astratte e interfacce di base

Esercizi

  • BaseGerarchia Dipendente / Impiegato / Manager con calcolo stipendio
  • IntermedioInterfaccia Figura geometrica con calcolo di area e perimetro
  • AvanzatoCollezione polimorfa di oggetti Dipendente con calcolo totale costi
09 Gestione delle eccezioni 3 ore ➤

Obiettivi

  • Distinguere eccezioni controllate e non controllate
  • Usare try/catch/finally
  • Creare eccezioni personalizzate

Esercizi

  • BaseGestione di input non numerici con NumberFormatException
  • IntermedioEccezione personalizzata SaldoInsufficienteException
  • AvanzatoCatena di gestione delle eccezioni in un piccolo modulo di lettura file
10 Collection e progetto finale 3 ore ➤

Obiettivi

  • Utilizzare ArrayList al posto degli array
  • Iterare con for-each e Iterator
  • Integrare i concetti in un progetto completo

Esercizi

  • BaseMigrazione di un array di Studente a una ArrayList
  • IntermedioGestionale di una piccola biblioteca (aggiunta, ricerca, rimozione libri)
  • AvanzatoProgetto finale: gestionale ordini con classi, ereditarietà ed eccezioni