"Di nuovo io. Ho dimenticato di spiegarti qualcosa. Ora ti parlerò delle variabili e dell'indirizzamento della memoria. Non andremo troppo in profondità, ma ti sarà utile ricordare almeno qualcosa."

"Mi piace il tuo approccio alle lezioni: se capisci qualcosa, bene. Se non capisci niente, va bene lo stesso."

"L'amore non può essere forzato. Questo è ovvio. Non è così sul tuo pianeta?"

"No. Abbiamo un approccio diverso. Se vuoi, studi; se non vuoi, studi lo stesso, anche se non ti va."

"Che approccio retrogrado per imparare! Fa sprecare tanto tempo ed energie e produce scarsi risultati."

"Infatti è uno spreco. Ma non parliamo di cose tristi ora."

"OK. Immagina Excel. Tutti conoscono Excel. Un foglio Excel consiste di celle. Ogni cella ha un identificatore univoco (A1, A2,…B1, B2). Se conosci l'identificatore di una cella, puoi sempre scriverci un valore o leggere un valore memorizzato. La memoria del computer è organizzata in modo molto simile."

image-ru-01-25

"Fino a qui ti seguo."

"Il programma e i relativi dati si trovano nella memoria quando il programma è in esecuzione. Tutta la memoria del computer è divisa in piccole celle, dette byte. A ogni cella è associato un identificatore o numero univoco: 0,1,2,3,… (i numeri partono da 0). Se conosci il numero di una cella, puoi inserirci dati. Oppure leggere i dati che contiene. Alcune celle memorizzano il codice del programma, ovvero l'insieme dei comandi per il processore. Altre memorizzano i dati utilizzati dal programma. Il numero di una cella è chiamato indirizzo."

"Il professore mi ha già parlato del processore e dei comandi, ma non in dettaglio."

"Il processore sa come eseguire i comandi che sono stati caricati in memoria. Quasi tutti i comandi del processore sono cose del tipo 'prendi i dati da alcune celle, facci qualcosa, invia il risultato ad altre celle'. Combiniamo centinaia di comandi semplici per creare comandi complessi e utili."

"Ma a che mi serve tutto questo?"

"Quando nel codice si dichiara una variabile, le viene assegnata un po' di memoria non ancora in uso. Generalmente si tratta di qualche byte. Quando dichiari una variabile, devi specificare il tipo di informazioni che il programma vi memorizzerà: numeri, testo o altri dati. Per comodità, si assegna un nome univoco a ogni variabile."

"Questo significa che una variabile è un nome, un tipo, una parte della memoria e anche un valore?"

"È tutte queste cose in una. Guarda alcuni esempi:"

Codice Spiegazione
1
String s;
Questa riga crea una variabile denominata s. Dichiariamo il suo tipo come String, poiché verrà utilizzata per memorizzare testo.
Non possiamo dichiarare un'altra variabile con lo stesso nome nella stessa funzione o classe.
2
String s2 = "I'm Diego";
Questa riga crea una variabile String denominata s2 e le assegna immediatamente il valore "I'm Diego".
3
int a;
Qui creiamo una variabile denominata a. Il suo tipo di dati indica ciò che può contenere. Il tipo di dati int sta per intero.
4
int b = 4;
Creiamo una variabile denominata b. Il suo tipo di dati (int) serve a memorizzare numeri interi. Alla variabile viene assegnato immediatamente il valore 4.

"Ecco alcuni compiti da parte di Diego. Puoi svolgerli un po' alla volta."