VARIABILI E DICHIARAZIONI IN JAVA


Una variabile è :



dichiarazione di una variabile :

I tipi primitivi sono :


Sono supportati anche le sequenze di escape (escape sequences) :

\b : backspace (indietro)

\t : tab

\n : line feed (fine linea)

\f : form feed (fine pagina / nuova pagina)

\r : carriage return (ritorno carrello/ a capo)

\' : apice singolo

\” : doppio apice

\\ : backslash (\)


Accanto ai tipi primitivi ci sono tipi speciali detti Simple Data Objects : String e Number che essendo classi hanno i vantaggi di queste ultime (lo si vedrà più avanti). Si definiscono classi Wrapper le classi legate ai tipi primitivi ma riconoscibili perché hanno l'iniziale maiuscola :


Tipo primitivo

Classe Wrapper

byte

Byte

short

Short

int

Integer

long

Long

float

Float

double

Double

char

Character

boolean

Boolean


I primi sono tipi normali, quelli a destra sono oggetti appartementi a classi. Sono definite nel package java.lang e qualificate come final. Tutte le classi Wrapper numeriche derivano da Number


per passare da tipo primitivo a classe Wrapper :

int pippo=345;

Integer pluto = new Integer(pippo);


per estrarre da un oggetto Wrapper un valore primitivo

int pippo = value.intValue();


??????? da completare ????????????

Le classi Wrapper sono utili anche perché hanno i metodi per convertire un numero stringa in un tipo numerico per utilizzarlo nelle espressioni e per fare calcoli :

String pippo = “”

???????


Nota – i valori possono essere espressi nei vari sistemi numerici :


La sintassi generica per dichiarare una variabile :

public

protected

static

final

tipo

identificatore

= valore

;

private

opzionale

obbligatorio


l'identificatore va assegnato con le seguenti regole :


esempio e definizione della tecnica :


int pippo; // dichiarazione della variabile pippo di tipo int

int pippo = 23; // dichiarazione e inizializzazione della variabile pippo di tipo int

pippo = 54; // assegnazione di un valore a una variabile con il simbolo di uguaglianza “=”


Scope di una variabile : viene così definito lo spazio di programma in cui una variabile può essere usata nel codice, in java questa area di codice è delimitata dalle parentesi graffe.


Variabili locali : quando viene dichiarata all'interno di un metodo (vedremo cos'è). Questo tipo di variabile viene creata quando viene chiamato un metodo e distrutta al termine del metodo stesso. Può essere usata solo all'interno delle parentesi graffe che delimitano il blocco codice del metodo. Non possono essere usate all'interno delle espressioni prima di una inizializzazione o assegnazione.


Variabili istanza : chiamate anche campi o field, sono dichiarate all'interno di una classe, ma all'esterno dei metodi della classe stessa. Lo scope è definito dalle parentesi graffe della classe.

Se una variabile locale di un metodo ha lo stesso nome di una variabile di istanza, quella locale (comprese le variabili parametro tra parentesi tonde del metodo) è quella attiva per essere utilizzata. Se si vuole usare una variabile d'istanza all'interno del metodo, con lo stesso nome della variabile locale, bisogna usare la keyword : this.nomevariabile


Variabili di classe : dette anche static field (campi statici), sono variabili d'istanza speciali che vengono dichiarate nel seguente modo :

static tipo identificatore = valore;


questo tipo di variabile, mantiene la memoria occupata per tutta la durata di esecuzione del programma.

Le variabili di classe e static possono avere un modificatore che ne determina la visibilità :


private : utilizzabile e visibile solo all'interno dellla classe

public : può essere usata in qualsiasi parte di codice mediante la dicitura idClasse.nomevar

protected : utilizzabile dalle classi dello stesso package della classe che la contiene e in cui è stata dichiarata. E' visibile e utilizzabile anche dalle classi derivate dalla classe che contiene la variabile.

default : se non si mette nessun qualificatore, viene sottinteso default. In Java questo tipo di variabile viene vista solo dalle classi contenute nello stesso package della classe che contiene la variabile.


final : può ricevere un valore solo una volta per tutta la durata del programma. Quindi la si può inizializzare al momento della dichiarazione o mediante un assegnamento, ma solo una volta. Da quel momento mantiene il valore.

es.

final int pippo;


final static : viene definita costante. L'identificatore, per convenzione, è scritto solo con lettere maiuscole e se composto da più parole, vanno unite con l'underscore “_”.

es.

final static int PIPPO;



Operatori in Java


l'operatore “.” serve per accedere a campi e metodi di classi o oggetti.

es.

oggetto.campo;

oggetto.metodo;


casting : forzare un valore di un tipo in un tipo diverso

es.

double pippo = 23.0;

int pluto;

pluto = pippo; // errato perché non posso assegnare a pluto di tipo int il valore di pippo di tipo double

pluto = (int)pippo; // esatto, con il casting trasformo il valore double di pippo in int e poi lo assegno alla variabile


operatori aritmetici

+ - * / %


il tipo di un operazione è dato dal tipo degli operatori. Per decidere il risultato effettuare il casting alle variabili all'interno dell'espressione.


Int pippo = (int)pluto / (int)patacca;


Operatore condizionale


(espressione booleana) ? SeVera : SeFalsa;


se l'espressione booleana è vera viene eseguita l'espressione SeVera altrimenti SeFalsa.