Fondamenti di informatica Oggetti e Java Luca Cabibbo Variabili e assegnazione Capitolo 9 dicembre 2003 1 Variabili e assegnazione Luca Cabibbo – Fondamenti di informatica: Oggetti e Java Copyright © 2004 – The McGraw-Hill Companies srl 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 r robbie : Robot Robot 2 Variabili e assegnazione Luca Cabibbo – Fondamenti di informatica: Oggetti e Java Copyright © 2004 – The McGraw-Hill Companies srl Assegnazione numero double Per memorizzare un valore in una variabile deve essere usata assegnazione numero = 1.44; numero 1.44 double 3 Variabili e assegnazione Luca Cabibbo – Fondamenti di informatica: Oggetti e Java Copyright © 2004 – The McGraw-Hill Companies srl 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 numero 1.44 double System.out.println(numero); 4 Variabili e assegnazione Luca Cabibbo – Fondamenti di informatica: Oggetti e Java Copyright © 2004 – The McGraw-Hill Companies srl 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 5 Variabili e assegnazione Luca Cabibbo – Fondamenti di informatica: Oggetti e Java Copyright © 2004 – The McGraw-Hill Companies srl Dichiarazione di variabili Una dichiarazione di variabile consiste di nome della variabile tipo della variabile double numero; double a, b, c; // numero di cui si vuole calcolare // la radice quadrata // coefficienti di una equazione // di secondo grado Le variabili dichiarate nell’ambito di un metodo si chiamano variabili locali del metodo 6 Variabili e assegnazione Luca Cabibbo – Fondamenti di informatica: Oggetti e Java Copyright © 2004 – The McGraw-Hill Companies srl Assegnazione e accesso double numero; numero double Per memorizzare un valore in una variabile deve essere usata una istruzione di assegnazione numero = 1.44; numero 1.44 double 7 Variabili e assegnazione Luca Cabibbo – Fondamenti di informatica: Oggetti e Java Copyright © 2004 – The McGraw-Hill Companies srl Sintassi e vincoli per l’assegnazione assegnazione numero identificatore-variabile 8 istruzione-assegnazione = 1.44 ; espressione 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 Variabili e assegnazione Luca Cabibbo – Fondamenti di informatica: Oggetti e Java Copyright © 2004 – The McGraw-Hill Companies srl Semantica dell’assegnazione numero double numero = 1.44; Effetto di una assegnazione calcola il valore v dell’espressione espressione memorizza il valore v calcolato nella variabile identificatorevariabile numero 1.44 double 9 Variabili e assegnazione Luca Cabibbo – Fondamenti di informatica: Oggetti e Java Copyright © 2004 – The McGraw-Hill Companies srl Accesso a variabili double numero; numero = 1.44; numero 1.44 double Dopo che è stato memorizzato un valore in una variabile, è possibile accedere al valore associato alla variabile System.out.println(numero); 10 Variabili e assegnazione Luca Cabibbo – Fondamenti di informatica: Oggetti e Java Copyright © 2004 – The McGraw-Hill Companies srl 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; 11 non è possibile modificare il valore di una costante Variabili e assegnazione Luca Cabibbo – Fondamenti di informatica: Oggetti e Java Copyright © 2004 – The McGraw-Hill Companies srl 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 r robbie : Robot Robot 12 Variabili e assegnazione Luca Cabibbo – Fondamenti di informatica: Oggetti e Java Copyright © 2004 – The McGraw-Hill Companies srl Variabili riferimento PrintStream schermo; schermo = System.out; schermo System.out System.out : PrintStream PrintStream schermo System.out : PrintStream PrintStream schermo.println("Ciao a tutti"); 13 Variabili e assegnazione Luca Cabibbo – Fondamenti di informatica: Oggetti e Java Copyright © 2004 – The McGraw-Hill Companies srl 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); 14 Variabili e assegnazione Luca Cabibbo – Fondamenti di informatica: Oggetti e Java Copyright © 2004 – The McGraw-Hill Companies srl 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"; stagione "estate" : String String System.out.println(stagione); 15 Variabili e assegnazione Luca Cabibbo – Fondamenti di informatica: Oggetti e Java Copyright © 2004 – The McGraw-Hill Companies srl