Java lezione2

18
Corso Base Maurizio Cozzetto Lezione 2

Transcript of Java lezione2

Page 1: Java lezione2

Corso Base

Maurizio Cozzetto

Lezione 2

Page 2: Java lezione2

APIs

Android Corso Base. Maurizio Cozzetto.

public class Math double abs(double a) Valore assoluto di a

double max(double a, double b) Il massimo tra due numeri

double pow(double a, double b) Potenza di a elevato b

double sqrt(double a) Radice quadrata di a

double PI Costante pigreco

double E Costante di Nepero e

double random() Numero casuale compreso tra 0 incluso e 1 escluso

double exp(double a) e elevato a

Page 3: Java lezione2

APIs

Android Corso Base. Maurizio Cozzetto.

public class String String(String s) Crea la stringa s

int length() Lunghezza della stringa

char charAt(int i) Iesimo carattere

String substring (int i, int j) Caratteri da i incluso a j escluso

boolean contains(String sub) True se la stringa contiene sub come sottostringa

int indexOf(String p) Indice della prima occorrenza di p

String concat(String t) Concatena la stringa con la stringa t

Boolean equals(String t) True se la stringa contiene gli stessi caratteri di t

Page 4: Java lezione2

Stringhe (1/2)

Android Corso Base. Maurizio Cozzetto.

String a = “Ciao”;String b = “Ciao”;System.out.println(a==b); // cosa da?System.out.println(a.equals(b)); // cosa da?

Ciaoa

String

Ciaob

String

Page 5: Java lezione2

Stringhe (2/2)

Android Corso Base. Maurizio Cozzetto.

String a = “Ciao”;String b = “Ciao”;System.out.println(a==b); // da falseSystem.out.println(a.equals(b)); // da true

Ciao

String

Ciao

String

a

b

Page 6: Java lezione2

Array di oggetti (1/5)

Android Corso Base. Maurizio Cozzetto.

Gli array sono gestiti dinamicamente

Persona[] persone; // Dichiaro un riferimento a un array

nullpersone

Page 7: Java lezione2

Array di oggetti (2/5)

Android Corso Base. Maurizio Cozzetto.

Gli array sono gestiti dinamicamente

final static int MAX = 3; // MAX è una costantePersona[] persone; // Dichiaro un riferimento a un arraypersone = new Persona[MAX]; // Creo lo spazio in memoria

persone

Persona[]

null

null

null

012

Page 8: Java lezione2

Array di oggetti (3/5)

Android Corso Base. Maurizio Cozzetto.

Gli array sono gestiti dinamicamente

persone[0] = new Persona(...); // Creo la prima persona

persone

Persona[]

null

null

012

Persona

Giulio

Rossi

...

Page 9: Java lezione2

Array di oggetti (4/5)

Android Corso Base. Maurizio Cozzetto.

Gli array sono gestiti dinamicamente

persone[0] = new Persona(...); // Creo la prima personapersone[1] = new Persona(...); // Creo la seconda persona

persone

Persona[]

null

012

Persona

Giulio

Rossi

...

Persona

Mario

Verdi

...

Page 10: Java lezione2

Array di oggetti (5/5)

Android Corso Base. Maurizio Cozzetto.

E' “complicato” inserire nuovi elementi o cancellarli!

int[]

2

6

8

10

Dove metto il 4?

int[]

2

6

8

10

Come cancello l'8?

Page 11: Java lezione2

Liste (1/6)

Android Corso Base. Maurizio Cozzetto.

// Dichiaro una lista LinkedList<Integer> lista = new LinkedList<>(); // JDK 7// Si può usare anche ArrayList// ArrayList<Integer> lista = new ArrayList<>();// La differenza è nelle performance e nel metodo di// accesso agli elementi

lista

ArrayList<Integer>

Non preoccuparti! Preparo io lo spazio!

Page 12: Java lezione2

Liste (2/6)

Android Corso Base. Maurizio Cozzetto.

// Inserisco 2 col metodo add() lista.add(2);

lista

ArrayList<Integer>

2

2 inserito!

Page 13: Java lezione2

Liste (3/6)

Android Corso Base. Maurizio Cozzetto.

// Inserisco 2 col metodo add() lista.add(2);lista.add(6); // Poi il 6

lista

ArrayList<Integer>

2

6

6 inserito!

Page 14: Java lezione2

Liste (4/6)

Android Corso Base. Maurizio Cozzetto.

// Inserisco 2 col metodo add() lista.add(2);lista.add(6); // Poi il 6lista.add(4); // Poi il 4 lista

ArrayList<Integer>

2

6

4

4 inserito!

Page 15: Java lezione2

Liste (5/6)

Android Corso Base. Maurizio Cozzetto.

// Voglio togliere il 6 che ha il posto 1

lista

ArrayList<Integer>

2

6

4

Posto 1: valore 6

012

Page 16: Java lezione2

Liste (6/6)

Android Corso Base. Maurizio Cozzetto.

// Uso il metodo removelista.remove(1);

lista

ArrayList<Integer>

2

4

6 rimosso!

01

Page 17: Java lezione2

APIs

Android Corso Base. Maurizio Cozzetto.

public class LinkedList boolean add(E e) Aggiungo l'elemento e

boolean remove(int i) Rimuove l'elemento di posto i

boolean remove(E e) Rimuove l'elemento e, se esiste

int size() Numero di elementi della lista

E get(int i) Restituisce l'elemento di posto i e non lo cancella

void add(int i, E e) Aggiunge l'elemento e nella posizione i

boolean contains(E e) Restituisce true se l'elemento e è contenuto nella lista

Page 18: Java lezione2

Corso Base

Maurizio Cozzetto

5 minuti di pausa