Sei sulla pagina 1di 5

Variabili

Valori di default
Nome variabile
iniziano con una lettera minuscola

non possono contenere spazi

non possono contenere numeri

Scope
Le variabili vivono nel blocco in cui sono state definite. (scope)

Se sono dentro un blocco if o un ciclo muoiono all’interno del ciclo.

Statiche
Una variabile statica

1. Appartiene ad una classe

2. Non è unica all’instanza di un oggetto

3. Si può accedere senza instanziare la classe

Precedenza degli operatori

1. Operatori con una coppia di parentesi

2. Incrementi e decrementi

3. Moltiplicazioni e divisioni

4. Addizioni e sottrazioni.
Oggetti
Posso chiamare un metodo o una variabile d’istanza nella stessa classe con il nome o con
this.nomedelMetodo.

Ottenere la referenza di un oggetto:

1. Dichiara la referenza

2. Instanzia un'oggetto(new)

3. Assegna l'oggetto alla referenza

Oggetti senza referenza sono inaccessibili e la Garbage Collector li elimina liberando la memoria

Costruttore
Se non scrivi un costruttore in una classe, automaticamente Java te ne fornisce uno(costruttore di default).

Deve avere lo stesso nome della classe.

Si può fare overloading.

Si può concateare i costruttori richiamando il costruttore senza parametri con this.

Metodi
Il valore passato in un metodo si chiama argomento.

Il valore definito nella dichiarazione di un metodo si chiama parametro.

Method Signature è l’insieme del nome del metodo e de numero, tipo e ordine dei suoi parametri.

Si possono creare diversi metodi con lo stesso nome ma con signature diverse.

Modificatori di accesso
Accessibilità Visibilità
public Qualunque classe
private Solo la classe in cui si trova
protected

Incapsulamento
L’incapsulare significa nascondere i campi di un metodo e prevedere un’accesso sicuro ad esso tramite dei
metodi (getter e setter).

Wrapper
Sono classi con lo stesso nome di un tipo primitivo.

Non hanno costruttore vuoto ma solo un costruttore contenente il valore del tipo primitivo.
Memoria
Stack
1. le variabili locali

2. I primitivi

3. referenze

Heap
Oggetti

Array
La lunghezza dell'array è stabilita quando è creata e non può essere + cambiata

Gli array possono essere creati con

1. New

2. dichiararli e poi inizializzarli.

Esiste una variabile lenght che contiene la dimensione di un’array.

Errori
Errori di Compilazione
Usare una referenza dichiarata ma non instanziata.

Se voglio assegnare il risultato di un’operazione in un valore minore della grandezza dei tipi dell’operazioni.

Se non metto una F quando creo una variabile float con un valore con la virgola.

Errori Runtime
NullPointerException elementi non hanno oggetti assegnati(array)

Tipi Standard
Stringhe
Sono immutabili

Creare una stringa con new ne crea 2.


Tipi primitivi
Tipo Primitivo Dimensione
byte 8bit
char 16bit
short 16bit
int 32bit
Numeri con la virgola
float 32bit
long 64bit

per usare un numero con la virgola float bisogna mettere una F.

binario tipo=0b10

esponenziale=2.1E12

Una variabile constante si usa final informa il compilatore che il valore non deve essere mai cambiato

Promozione

Il compilatore cambia il tipo di una variabile in un tipo che supporta valori + grandi. Questo succede
quando:

1.Assegni un tipo + piccolo a un tipo + grande(tipoPiccolo=tipoGrande)

2.Se tu assegni un tipo senza virgola con uno con la virgola (*assegnamento di un tipo long a un tipo float
perde informazione)

Prima di essere assegnato da una variabile, il risultato di un’equazione si trova in una locazione temporanea
della memoria. La grandezza è sempre uguale ad int o al più grande tipo che noi usiamo in un’espressione

Se io prendo due valori interi e facendo delle operazioni non riesco a rientrare nella dimensione dell’intero

perdo informazione. Per risolvere setta almeno una variabile a long in modo da non avere alcuna perdita.
Cast

Se faccio il cast di un float o un long a un’int perdo i decimali.

Se voglio assegnare il risultato di un’operazione in un valore minore della grandezza dei tipi dell’operazioni

devo prima fare il cast del risultato.

I risultati di un’operazione sono sempre o int o float.

I tipi + piccoli vengono promossi in int.

Se un’espressione contiene almeno un long, il risultato di tutta l’espressione sarà un long.