SVJAES00 - Il linguaggio di programmazione Java (5 gg)

SVJAES - Il linguaggio di programmazione Java (5 gg)
OBIETTIVO:
Al termine del corso, i partecipanti saranno in grado di:
− Creare applicazioni in Java che utilizzano le funzionalità object-oriented del linguaggio Java, quali
incapsulamento, ereditarietà e polimorfismo
− Eseguire un'applicazione Java dalla riga di comando
− Utilizzare i tipi di dati e le espressioni della tecnologia Java
− Utilizzare i costrutti di controllo del flusso
− Utilizzare array e altre raccolte di dati
− Implementare tecniche di error-handling utilizzando la gestione delle eccezioni
− Creare un'interfaccia grafica event-driven usando i componenti GUI della tecnologia Java: pannelli,
pulsanti, etichette, campi di testo e aree di testo
− Implementare le funzionalità di I/O per leggere e scrivere nei file di dati e di testo.
− Creare programmi multithreaded
− Creare un semplice client TCP/IP in grado di comunicare tramite socket.
DESCRIZIONE:
Durante il corso verranno trattati i seguenti argomenti:
− Le principali funzioni della tecnologia Java
− Le funzioni della Java Virtual Machine (JVM)
− La programmazione Object-Oriented
−
−
−
−
−
−
Descrizione e uso degli Identificatori, Keywords ,Tipi e array
Descrizione delle classi e caratteristiche
Definizione delle eccezioni e utilizzo delle asserzioni
Costruzioni di Java GUIs e Applicazioni basate su GUI
Threads; Flusso I/O
Connessione di rete
REQUISITI:
I partecipanti devono essere in grado di:
- Comprendere i principi della programmazione object-oriented
- Creare o compilare semplici programmi in un linguaggio di programmazione, ad
esempio C o C++, e aver creato e compilato semplici programmi Java
- Creare e modificare file di testo utilizzando un editor di testo
DESTINATARI:
- Programmatori
MATERIALE DIDATTICO:
Attestato di frequenza
DOTAZIONE SOFTWARE:
Ciascun partecipante avrà a disposizione, una postazione allestita con il sistema operativo ed il software
necessario alle esercitazioni.
PROGRAMMA:
Concetti base della tecnologia Java
− Descrivere le principali funzioni della tecnologia Java
− Scrivere, compilare ed eseguire una semplice applicazione Java
− Descrivere le funzioni della Java Virtual Machine (JVM)
− Definire il concetto di garbage collection
− Elencare le tre attività eseguite dalla piattaforma Java per gestire la sicurezza del codice
ant s.r.l. - Cap. Soc. 10.000,00 – Registro Imprese 1706778 – C.F. / P. IVA. 03860890965
Sede legale: C.so Buenos Aires, 47 – 20124 Milano – Tel. 02 29013496
1
Programmazione Object-Oriented
− Definire i concetti di modellazione: astrazione, incapsulamento e pacchetti
− Spiegare perché è possibile riutilizzare il codice applicativo della tecnologia Java
− Definire i concetti di classe, membro, attributo, metodo, costruttore e pacchetto
− Utilizzare nel modo appropriato i modificatori di accesso private e public, come indicato nelle linee
guida dell'incapsulamento
− Invocare un metodo su un particolare oggetto
− Utilizzare la documentazione online sulle API della tecnologia Java
Identificatori, Keywords e Tipi
− Usare i commenti nel codice sorgente
− Indicare le differenze tra gli identificatori validi e quelli non validi
− Riconoscere le parole chiave della tecnologia Java
− Elencare gli otto tipi primitivi
− Definire i valori letterali per i tipi numerici e testuali
− Definire i termini variabile primitiva e variabile di riferimento
− Dichiarare variabili di tipo classe
− Costruire un oggetto usando new
− Descrivere l'inizializzazione predefinita
− Descrivere il significato di una variabile di riferimento
− Specificare le conseguenze dell'assegnazione di variabili di tipo classe
Espressioni e Flow Control
− Indicare le differenze tra una variabile di istanza e una variabile locale
− Descrivere l'inizializzazione delle variabili di istanza
− Identificare e correggere l'errore del compilatore "Possible reference before assignment"
− Riconoscere, descrivere e utilizzare gli operatori di Java
− Indicare le assegnazioni ammesse e non ammesse di tipi primitivi
− Identificare le espressioni booleane e i loro requisiti nei costrutti di controllo
− Riconoscere la compatibilità di assegnazione e i cast richiesti nei tipi fondamentali
− Utilizzare i costrutti if, switch, for, while e do e le forme con etichetta di break e continue come
strutture di controllo di flusso in un programma
Arrays
− Dichiarare e creare array di primitive, classi, o tipi di array
− Indicare perché gli elementi di un array vengono inizializzati
− Spiegare il modo in cui si possono inizializzare gli elementi di un array
− Determinare il numero di elementi in un array
− Creare un array multidimensionale
− Scrivere il codice per copiare i valori da un array a un altro
Le classi
− Definire i concetti di ereditarietà, polimorfismo, overloading, overriding e invocazione di metodi
virtuali
− Usare i modificatori di accesso protected e predefinito (package-friendly)
− Descrivere i concetti di costruttore e overloading del metodo
− Descrivere le operazioni complessive di costruzione e inizializzazione di un oggetto
Caratteristiche avanzate della classe
− Creare variabili, metodi e inizializzatori static
− Creare classi, metodi e variabili final
− Creare e utilizzare i tipi enumerati
− Usare l'istruzione static import
− Creare classi e metodi astratti
− Creare e usare un'interfaccia
ant s.r.l. - Cap. Soc. 10.000,00 – Registro Imprese 1706778 – C.F. / P. IVA. 03860890965
Sede legale: C.so Buenos Aires, 47 – 20124 Milano – Tel. 02 29013496
2
Eccezioni e asserzioni
− Definire le eccezioni
− Usare le istruzioni try, catch e finally
− Descrivere le categorie di eccezioni
− Identificare le eccezioni comuni
− Sviluppare programmi per gestire le eccezioni personalizzate
− Utilizzare le asserzioni
− Indicare le differenze tra l'utilizzo appropriato e non appropriato delle asserzioni
− Abilitare le asserzioni al runtime
Applicazioni basate sul Testo Text-Based
− Scrivere un programma che utilizza gli argomenti dalla riga di comando e le proprietà dei sistemi
− Scrivere un programma che legge dall'input standard
− Descrivere l'output e l'input formattati di tipo C
− Scrivere un programma in grado di creare, leggere e scrivere file
− Descrivere la gerarchia di base delle collezioni nell'SDK Java 2
− Scrivere un programma per eseguire l'iterazione di una collezione
− Scrivere un programma che utilizzi le collezioni generiche
Costruire Java GUIs
− Descrivere il pacchetto AWT (Abstract Window Toolkit) e i suoi componenti
− Definire i seguenti termini: contenitori, componenti, e layout manager e descrivere il modo in cui
vengono utilizzati per creare un'interfaccia grafica
− Usare i layout manager
− Usare FlowLayout, BorderLayout e GridLayout per ottenere il layout dinamico desiderato
− Aggiungere componenti a un contenitore
− Usare in modo appropriato i contenitori Frame e Panel
− Descrivere il funzionamento dei layout complessi con contenitori annidati
Trattare Evento GUI Event Handling
− Definire gli eventi e la gestione degli eventi
− Scrivere il codice per gestire gli eventi che si verificano in una GUI
− Descrivere il concetto di classe adattatore e indicare quando e come viene utilizzata
− Determinare l'azione che ha generato l'evento dalle informazioni sull'oggetto dell'evento
− Identificare le interfacce listener appropriate per una varietà di tipi di eventi
− Creare i metodi appropriati per la gestione degli eventi per i vari tipi di eventi
− Comprendere l'utilizzo delle classi interne e delle classi anonime nella gestione degli eventi
Applicazioni basate su GUI
− Identificare i principali componenti di AWT e gli eventi che producono
− Descrivere le creazione di una barra di menu, di un menu e delle voci del menu in una GUI Java
− Indicare come modificare il colore e il tipo di carattere di un componente
Threads
− Definire un thread
− Creare thread separati in un programma Java, controllando il codice e i dati che sono utilizzati dai
thread
− Controllare l'esecuzione di un thread e scrivere codice indipendente dalla piattaforma che utilizzi i
thread
− Descrivere le difficoltà che possono sorgere quando più thread condividono gli stessi dati
− Utilizzare wait e notify per comunicare tra i thread
− Utilizzare synchronized per evitare il danneggiamento dei dati
Flusso I/O
− Descrivere le funzioni principali del pacchetto java.io
− Costruire i nodi e i flussi di elaborazione e utilizzarli in modo appropriato
− Indicare le differenze tra reader, writer e flussi ed effettuare la scelta appropriata
ant s.r.l. - Cap. Soc. 10.000,00 – Registro Imprese 1706778 – C.F. / P. IVA. 03860890965
Sede legale: C.so Buenos Aires, 47 – 20124 Milano – Tel. 02 29013496
3
Connessione di rete
− Sviluppare il codice per impostare una connessione di rete
− Conoscere le procedure di gestione di reti TCP/IP (Transmission Control Protocol/Internet
− Protocol)
− Usare le classi ServerSocket e Socket per l'implementazione di client e server TCP/IP
ant s.r.l. - Cap. Soc. 10.000,00 – Registro Imprese 1706778 – C.F. / P. IVA. 03860890965
Sede legale: C.so Buenos Aires, 47 – 20124 Milano – Tel. 02 29013496
4