Le variabili
Alla fine non sono altro che locazioni di memoria nelle quali vengono salvati dei dati.
Dichiarazione e inizializzazione
Le variabili per essere utilizzate devono prima essere dichiarate: in questa fase vado a liberare in memoria uno spazio necessario alla variabile stessa. Nel caso in cui dovessi assegnarle un valore, devo inizializzarla.
Esempi:
- int x; // Dichiaro una variabile di tipo intero
- char lettera = 'a'; // Dichiaro e inizializzo una variabile di tipo carattere
- boolean flag; // Dichiaro una variabile di tipo boolean (true/false)
- double prezzo = 5.40; // Dichiaro e inizializzo una variabile di tipo decimale (doppia precisione, con una accuratezza superiore al float)
- float media; // Dichiaro una variabile di tipo decimale
Visibilità delle variabili
In base alla visibilità delle variabili in un programma si possono individuare variabili globali e locali. Quest'ultime sono preferibili poiché cessano di esistere - e quindi liberano memoria - quando un determinato metodo che le include termina. Al contrario, quelle globali "muoiono" solo quando è terminata l'esecuzione del programma intero. Particolari variabili sono i parametri formali: sono quelle che vengono dichiarate all'interno delle parentesi tonde di un determinato metodo e prendono i loro valori dal main. Infine, esistono anche le costanti (i valori non possono essere cambiati). Di seguito un esempio:
public class Esempio {public static float media; // Variabile globale
public static final int costante = 10; // Costante (variabile globale)
public static void main (String args[]) {
float num1 = 5; //
float num2 = 2; // Variabili locali (al main)
float s; //
s = Somma(num1,num2);
if(s<costante) media = (num1 + num2) / 2;
System.out.println("La media vale: " + media);
}
public static float Somma(float a, float b){ // Parametri formali
float c; // Variabile locale (alla funzione)
c = a + b;
return c;
}
}
Tipi di variabili
- byte (da -128 a 127)
- short (da -32768 a 32767)
- int (da -2147483648 a 2147483647)
- long (da -9223372036854775808 a 9223372036854775807)
- float
- double (range più ampio rispetto al float)
- char
- boolean (true o false)