Variabili e assegnazione Capitolo 9 dicembre 2003 Variabili e assegnazione
Variabili e assegnazione Una variabile è un contenitore con un nome, che consente di memorizzare un valore è specializzata nel tipo del valore che è in grado di memorizzare consente l’accesso al valore memorizzato numero 12.0 double robbie : Robot r Robot Variabili e assegnazione
Variabili e assegnazione Per memorizzare un valore in una variabile deve essere usata assegnazione numero = 1.44; numero double numero 1.44 double Variabili e assegnazione
Accesso al valore di una variabile Il valore di una variabile può essere acceduto scrivendo il nome della variabile in un posto diverso dalla sinistra dell’operatore di assegnazione System.out.println(numero); numero 1.44 double Variabili e assegnazione
Variabili e aree di memoria Una variabile è una astrazione per una “area di memoria” per area di memoria si intende un gruppo di celle di memoria variabile un’area di memoria viene identificata dall’indirizzo dell’area di memoria nome della variabile un’area di memoria ha lo scopo di memorizzare un valore, opportunamente codificato mediante una sequenza di bit valore della variabile il valore memorizzato da un’area di memoria può essere interpretato solo conoscendo il tipo della codifica utilizzata per l’area di memoria tipo della variabile una unità di memoria fornisce le operazioni di lettura e scrittura accesso e assegnazione Variabili e assegnazione
Dichiarazione di variabili Una dichiarazione di variabile consiste di nome della variabile tipo della variabile double numero; // numero di cui si vuole calcolare // la radice quadrata double a, b, c; // coefficienti di una equazione // di secondo grado Le variabili dichiarate nell’ambito di un metodo si chiamano variabili locali del metodo Variabili e assegnazione
Assegnazione e accesso double numero; Per memorizzare un valore in una variabile deve essere usata una istruzione di assegnazione numero = 1.44; numero double numero 1.44 double Variabili e assegnazione
Sintassi e vincoli per l’assegnazione la variabile di nome identificatore-variabile deve essere stata dichiarata da una istruzione precedente nel metodo il tipo di espressione deve essere “consistente” con il tipo specificato della variabile di nome identificatore-variabile numero = 1.44 ; identificatore-variabile espressione istruzione-assegnazione assegnazione Variabili e assegnazione
Semantica dell’assegnazione numero = 1.44; Effetto di una assegnazione calcola il valore v dell’espressione espressione memorizza il valore v calcolato nella variabile identificatore-variabile numero double numero 1.44 double Variabili e assegnazione
Variabili e assegnazione Accesso a variabili double numero; numero = 1.44; Dopo che è stato memorizzato un valore in una variabile, è possibile accedere al valore associato alla variabile System.out.println(numero); numero 1.44 double Variabili e assegnazione
Variabili e assegnazione Costanti Una variabile può essere utilizzata per memorizzare un valore costante dichiarazione preceduta dalla parola chiave final dichiarazione con inizializzazione final double RAGGIO_CERCHIO = 10.0; non è possibile modificare il valore di una costante Variabili e assegnazione
Variabili riferimento Una variabile riferimento è una variabile il cui tipo è un tipo riferimento (il nome di una classe) una variabile riferimento di un tipo C è in grado di memorizzare un riferimento a un oggetto istanza di C robbie : Robot r Robot Variabili e assegnazione
Variabili riferimento PrintStream schermo; schermo = System.out; schermo.println("Ciao a tutti"); System.out : PrintStream schermo System.out PrintStream System.out : PrintStream schermo PrintStream Variabili e assegnazione
Uso di variabili riferimento Le variabili riferimento sono normalmente usate per memorizzare il riferimento restituito dalla creazione di un nuovo oggetto Robot r; /* crea un nuovo robot nel labirinto l */ r = new Robot(l); per denotare l’oggetto destinatario di un messaggio /* fa avanzare il robot r */ r.avanza(); come argomento nell’invocazione di un metodo o costruttore /* fa attraversare a r il labirinto in cui si trova */ AttraversatoreLabirinti.attraversaLabirinto(r); Variabili e assegnazione
Variabili e assegnazione Stringhe Un tipo di dato di uso molto comune è il tipo delle stringhe una stringa è una sequenza finita di caratteri le stringhe sono rappresentate dalla classe String String stagione; stagione = "estate"; System.out.println(stagione); "estate" : String stagione String Variabili e assegnazione