oca java 8 se programmer i - centro studi ulisse ... · fondamenti di java usare i data type java...

11

Click here to load reader

Upload: duongduong

Post on 16-Feb-2019

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: OCA JAVA 8 SE PROGRAMMER I - Centro Studi Ulisse ... · Fondamenti di Java Usare i Data Type Java Usare operatori e costrutti decisionali Creare ed usare array Usare i costrutti ciclici

OCA JAVA 8 SE PROGRAMMER I DOCENTE: DOTT. FAUSTO DELL’ANNO

CENTRO STUDI ULISSE Via Buccino, n. 22 - C.a.p. 84018 - Scafati (SA)

Tel. Fax. 081.19970299 - 339.2365416 - 349.4152010 E-mail: [email protected] - www.centrostudiulisse.it

Page 2: OCA JAVA 8 SE PROGRAMMER I - Centro Studi Ulisse ... · Fondamenti di Java Usare i Data Type Java Usare operatori e costrutti decisionali Creare ed usare array Usare i costrutti ciclici

SOMMARIO

Fondamenti di Java

Usare i Data Type Java

Usare operatori e costrutti decisionali

Creare ed usare array

Usare i costrutti ciclici

Lavorare con i metodi e l’incapsulamento

L’ereditarietà

Eccezioni

API Java – Time e Date

Le espressioni Lambda

Materiale redatto dal Prof. Fausto Dell'Anno in collaborazione col Centro Studi Ulisse Formazione e consulenza – © Riproduzione riservata

2

Page 3: OCA JAVA 8 SE PROGRAMMER I - Centro Studi Ulisse ... · Fondamenti di Java Usare i Data Type Java Usare operatori e costrutti decisionali Creare ed usare array Usare i costrutti ciclici

LE ESPRESSIONI LAMBDA

Metodi anonimi

Definiti là dove devono essere usati

Sintassi molto semplice:

(argomenti) corpo

(argomenti) è una lista di argomenti (uno o più)

corpo è una singola espressione semplice o un blocco di

codice racchiuso tra parentesi graffe

Materiale redatto dal Prof. Fausto Dell'Anno in collaborazione col Centro Studi Ulisse Formazione e consulenza – © Riproduzione riservata

3

Page 4: OCA JAVA 8 SE PROGRAMMER I - Centro Studi Ulisse ... · Fondamenti di Java Usare i Data Type Java Usare operatori e costrutti decisionali Creare ed usare array Usare i costrutti ciclici

Esempi:

Materiale redatto dal Prof. Fausto Dell'Anno in collaborazione col Centro Studi Ulisse Formazione e consulenza – © Riproduzione riservata

4

LE ESPRESSIONI LAMBDA

(int a, int b) a+b

//restituisce la somma di due interi

(String a, String b) {System.out.println(a+” “+b);}

//effettua la stampa della concatenazione di due stringhe intervallate da uno spazio

(a, b) a+b

//utilizza la type inference

Page 5: OCA JAVA 8 SE PROGRAMMER I - Centro Studi Ulisse ... · Fondamenti di Java Usare i Data Type Java Usare operatori e costrutti decisionali Creare ed usare array Usare i costrutti ciclici

Type Inference

I tipi degli argomenti vengono omessi

L’espressione verrà eseguita considerando il tipo attuale

(reale) delle variabili passate come argomenti

Nell’esempio precedente se gli argomenti sono int verrà

eseguita un’addizione, se gli argomenti sono String verrà

eseguita una concatenazione

Materiale redatto dal Prof. Fausto Dell'Anno in collaborazione col Centro Studi Ulisse Formazione e consulenza – © Riproduzione riservata

5

LE ESPRESSIONI LAMBDA

Page 6: OCA JAVA 8 SE PROGRAMMER I - Centro Studi Ulisse ... · Fondamenti di Java Usare i Data Type Java Usare operatori e costrutti decisionali Creare ed usare array Usare i costrutti ciclici

Interfacce funzionali

Interfacce con un unico metodo astratto (possono avere

altri metodi)

Materiale redatto dal Prof. Fausto Dell'Anno in collaborazione col Centro Studi Ulisse Formazione e consulenza – © Riproduzione riservata

6

LE ESPRESSIONI LAMBDA

public interface ActionListener extends EventListener

{

public void actionPerformed(ActionEvent e);

}

……..

ActionListener al = (ActionEvent e) -> System.out.println(e);

Page 7: OCA JAVA 8 SE PROGRAMMER I - Centro Studi Ulisse ... · Fondamenti di Java Usare i Data Type Java Usare operatori e costrutti decisionali Creare ed usare array Usare i costrutti ciclici

Espressioni lambda e interfacce funzionali

Le espressioni lambda non sono altro che implementazioni dei metodi

dichiarati nelle interfacce funzionali

Si possono omettere tutti i dettagli implementativi che il compilatore può

desumere dall’interfaccia:

Tipi dei parametri

return

parentesi graffe

Materiale redatto dal Prof. Fausto Dell'Anno in collaborazione col Centro Studi Ulisse Formazione e consulenza – © Riproduzione riservata

7

LE ESPRESSIONI LAMBDA

Page 8: OCA JAVA 8 SE PROGRAMMER I - Centro Studi Ulisse ... · Fondamenti di Java Usare i Data Type Java Usare operatori e costrutti decisionali Creare ed usare array Usare i costrutti ciclici

Espressioni lambda e interfacce funzionali

Se il metodo da implementare accetta più parametri è obbligatorio

metterli tra parentesi nell’espressione lambda che lo implementa

Se il metodo da implementare non accetta parametri si usano le parentesi vuote

Non si possono utilizzare variabili già dichiarate altrove nel metodo in cui l’espressione viene richiamata (sarebbe una duplicazione)

Per usare un return bisogna utilizzare un blocco delimitato da parentesi graffe e terminante con un punto e virgole (all’interno delle graffe)

Il tipo restituito dall’espressione deve essere quello restituito dal metodo dichiarato nell’interfaccia

Materiale redatto dal Prof. Fausto Dell'Anno in collaborazione col Centro Studi Ulisse Formazione e consulenza – © Riproduzione riservata

8

LE ESPRESSIONI LAMBDA

Page 9: OCA JAVA 8 SE PROGRAMMER I - Centro Studi Ulisse ... · Fondamenti di Java Usare i Data Type Java Usare operatori e costrutti decisionali Creare ed usare array Usare i costrutti ciclici

Espressioni lambda e java.util.function.Predicate

java.util.function.Predicate

interfaccia aggiunta in Java 8

un solo metodo di nome test: prende un oggetto qualunque come

argomento e restituisce un boolean

elimina la necessità di scrivere un’interfaccia apposita per ogni

applicazione

Materiale redatto dal Prof. Fausto Dell'Anno in collaborazione col Centro Studi Ulisse Formazione e consulenza – © Riproduzione riservata

9

LE ESPRESSIONI LAMBDA

Page 10: OCA JAVA 8 SE PROGRAMMER I - Centro Studi Ulisse ... · Fondamenti di Java Usare i Data Type Java Usare operatori e costrutti decisionali Creare ed usare array Usare i costrutti ciclici

Espressioni lambda e java.util.function.Predicate

Materiale redatto dal Prof. Fausto Dell'Anno in collaborazione col Centro Studi Ulisse Formazione e consulenza – © Riproduzione riservata

10

LE ESPRESSIONI LAMBDA

public void faiSuData(ArrayList<Data> dataList, Predicate<Data> p){

Iterator<Data> i = dataList.iterator();

while(i.hasNext()) {

if(p.test(i.next())) { … fa qualcosa … }

}

}

Predicate<Data> p = new Predicate<Data>(){

public boolean test(Data d){

return (risultato di un test su d);

}

};

….

faiSuData(dataList, p);

L’alternativa è:

faisuData(dataList, d risultato di un test su d);

Page 11: OCA JAVA 8 SE PROGRAMMER I - Centro Studi Ulisse ... · Fondamenti di Java Usare i Data Type Java Usare operatori e costrutti decisionali Creare ed usare array Usare i costrutti ciclici

DOMANDE?

Materiale redatto dal Prof. Fausto Dell'Anno in collaborazione col Centro Studi Ulisse Formazione e consulenza – © Riproduzione riservata

11