CENTRO STUDI ULISSE
Via Buccino, n. 22 - C.a.p. 84018 - Scafati (SA)
Tel. Fax. 081.19970299 - 339.2365416 - 349.4152010
E-mail: info@centrostudiulisse.it - www.centrostudiulisse.it
OCA JAVA 7 SE PROGRAMMER I
DOCENTE: DOTT. FAUSTO DELL’ANNO
1
Materiale redatto dal Prof. Fausto Dell'Anno in collaborazione col Centro Studi Ulisse Formazione e consulenza – © Riproduzione riservata
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
2
Materiale redatto dal Prof. Fausto Dell'Anno in collaborazione col Centro Studi Ulisse Formazione e consulenza – © Riproduzione riservata
CREARE ED USARE ARRAY
Concetto di array
Dichiarare, instanziare, inizializzare un array
monodimensionale
Dichiarare, instanziare, inizializzare un array
multidimensionale
Dichiarare ed usare un ArrayList
3
Materiale redatto dal Prof. Fausto Dell'Anno in collaborazione col Centro Studi Ulisse Formazione e consulenza – © Riproduzione riservata
CREARE ED USARE ARRAY
Concetto di array
Sono OGGETTI
Possono contenere altri oggetti o tipi primitivi
Contengono valori costanti
Hanno operatori
Hanno costruttori
La lunghezza è nel campo length (NON È UN METODO!)
4
Materiale redatto dal Prof. Fausto Dell'Anno in collaborazione col Centro Studi Ulisse Formazione e consulenza – © Riproduzione riservata
CREARE ED USARE ARRAY
Concetto di array
Accedere ad un elemento di un array
int[] ai = {1,2,3};
System.out.println(ai[1]);
Lunghezza di un array
System.out.println(ai.length);
//array di int
//stampa il secondo elemento dell’array
//(zero-based!)
//stampa la lunghezza dell’array
Eccezioni sollevate nell’uso di un array
ArrayIndexOutOfBoundsException
IndexOutOfBoundsException
NullPointerException
5
Materiale redatto dal Prof. Fausto Dell'Anno in collaborazione col Centro Studi Ulisse Formazione e consulenza – © Riproduzione riservata
CREARE ED USARE ARRAY
Concetto di array
Array null: rischio di Null PointerException
int[] ai = null;
Array di elementi null
Integer[] ai = {null, null, null};
Array di lunghezza zero: rischio di ArrayIndexOutOfBoundsException
int[] ai = new int[0];
Array monodimensionali
int[] ai1 = new int[3];
int[] ai2 = new int[6];
Array multidimensionali
int[][] ai = new int[3][4];
6
Materiale redatto dal Prof. Fausto Dell'Anno in collaborazione col Centro Studi Ulisse Formazione e consulenza – © Riproduzione riservata
CREARE ED USARE ARRAY
Dichiarare, instanziare, inizializzare un array
monodimensionale
Dichiarazione di un array monodimensionale
int[] ai;
int ai[];
//valida
//valida
Instanziare e dimensionare un array monodimensionale
int[] ai = new int[10];
Tutti gli elementi di un array di primitivi sono
automaticamente inizializzati ai valori di default
7
Materiale redatto dal Prof. Fausto Dell'Anno in collaborazione col Centro Studi Ulisse Formazione e consulenza – © Riproduzione riservata
CREARE ED USARE ARRAY
Dichiarare, instanziare, inizializzare un array
monodimensionale
Inizializzare un array monodimensionale con un elenco
int[] ai3 = {1, 2, 3};
String[] as3 = {«1», «2», «3»};
String[] as3 = new String[]{«1», «2», «3»};
String[] as3 = new String[3]{«1», «2», «3»};
//Non valido!!!
Inizializzare un array monodimensionale con un ciclo
int[] ai3 = new int[3];
int i = 0;
while (i < 3)
ai3[i] = 2*i++;
8
Materiale redatto dal Prof. Fausto Dell'Anno in collaborazione col Centro Studi Ulisse Formazione e consulenza – © Riproduzione riservata
CREARE ED USARE ARRAY
Dichiarare, instanziare, inizializzare un array
multidimensionale
Dichiarazione di un array multidimensionale
int[][] ai;
int ai[][];
int[] ai[];
//valida
//valida
//valida
int[3][] ai3 = { { 1, 2, 3} , { 4, 5, 6, 7}, { 8, 9, 10 } };
//ai3 è un array di tre elementi di cui ognuno è un array
9
Materiale redatto dal Prof. Fausto Dell'Anno in collaborazione col Centro Studi Ulisse Formazione e consulenza – © Riproduzione riservata
CREARE ED USARE ARRAY
Dichiarare, instanziare, inizializzare un array
multidimensionale
In un’espressione di creazione di un array multidimensionale ci può
essere un’espressione per ogni dimensione, ognuna in parentesi
Le dimensioni vengono calcolate a partire da sinistra e continuando
verso destra
In caso di errore tutto ciò che viene dopo non viene calcolato
int i = 4;
int ia[][][] = new int[i][i = 3][i];
System.out.println( ia.length + ", " + ia[0].length+", "+ ia[0][0].length);
//Stamperà 4, 3, 3
10
Materiale redatto dal Prof. Fausto Dell'Anno in collaborazione col Centro Studi Ulisse Formazione e consulenza – © Riproduzione riservata
CREARE ED USARE ARRAY
Dichiarare ed usare un ArrayList
Proprietà dell’ArrayList
Ridimensionato
dinamicamente a runtime
Consuma un po’ più di memoria rispetto ad un array per
mantenere la struttura interna
Come un array, non è thread safe
Consente un accesso in tempo costante a tutti i suoi elementi
Fornisce un accesso random ai suoi elementi (senza
conoscerne l’ordine)
Al di sotto c’è un array
11
Materiale redatto dal Prof. Fausto Dell'Anno in collaborazione col Centro Studi Ulisse Formazione e consulenza – © Riproduzione riservata
CREARE ED USARE ARRAY
Dichiarare ed usare un ArrayList
ArrayList è una sottoclasse di AbstractList
Interfacce implementate:
java.lang.Object
- java.util.AbstractCollection<E>
- java.util.AbstractList<E>
java.util.ArrayList<E>
Serializable
Cloneable
Iterable<E>
Collection<E>
List<E>
RandomAccess
Sottoclassi dirette:
AttributeList
RoleList
RoleUnresolvedList
12
Materiale redatto dal Prof. Fausto Dell'Anno in collaborazione col Centro Studi Ulisse Formazione e consulenza – © Riproduzione riservata
CREARE ED USARE ARRAY
Dichiarare ed usare un ArrayList
Metodi dell’Arraylist
add
addAll
clear
contains
ensureCapacity
get
indexOf
isEmpty
iterator
remove
removeAll
set
size
toArray
13
Materiale redatto dal Prof. Fausto Dell'Anno in collaborazione col Centro Studi Ulisse Formazione e consulenza – © Riproduzione riservata
CREARE ED USARE ARRAY
Dichiarare ed usare un ArrayList
Dichiarazione di un ArrayList
È facoltativo dichiarare il tipo di dato contenuto
Non farlo significa evitare un controllo a compile time
ArrayList<String> listOfStrings; //corretto
ArrayList listOfStrings;
//corretto
14
Materiale redatto dal Prof. Fausto Dell'Anno in collaborazione col Centro Studi Ulisse Formazione e consulenza – © Riproduzione riservata
CREARE ED USARE ARRAY
Dichiarare ed usare un ArrayList
Uso di un ArrayList
Non
è possibile mettere tipi primitivi in un ArrayList, ma solo
oggetti
È possibile ordinare i suoi elementi usando il metodo
Collections.sort()
Eccezioni sollevate nell’uso di un ArrayList
IndexOutOfBoundsException
NullPointerException
15
Materiale redatto dal Prof. Fausto Dell'Anno in collaborazione col Centro Studi Ulisse Formazione e consulenza – © Riproduzione riservata
DOMANDE?
16
Materiale redatto dal Prof. Fausto Dell'Anno in collaborazione col Centro Studi Ulisse Formazione e consulenza – © Riproduzione riservata