image-ru-00-14

Una donna con i capelli rosa entrò nella cabina. "Mi chiedo se tutte le donne umane hanno capelli così", riuscì a pensare Amigo.

"Ciao! Sono Eleonora Polo. Puoi chiamarmi Nora. Sono la navigatrice della Freccia Galattica."

"Ciao Nora", si sforzò di dire Amigo.

"Ti spiegherò la parte più interessante dell'intero linguaggio Java: le variabili."

"Ti ascolto. Cosa sono queste variabili di cui parli?"

"Le variabili sono entità speciali utilizzate per memorizzare dati. Qualsiasi tipo di dati. In Java, tutti i dati sono memorizzati in variabili. L'analogia che rende meglio l'idea è quella di una scatola."

"Una scatola? Che tipo di scatola?"

"Una scatola qualsiasi. Immagina di scrivere il numero 13 su un pezzo di carta e di metterlo in una scatola. Ora possiamo dire che la scatola contiene il valore 13".

"In Java ogni variabile ha tre importanti proprietà: tipo, nome e valore."

"Puoi spiegarmi cosa significa?"

"Certo. Il nome serve per distinguere le variabili tra di loro. È come un'etichetta su una scatola."

"Il tipo di una variabile determina i tipi di valori o dati che può contenere. Mettiamo un cappello in una cappelliera, le scarpe in una scatola da scarpe e così via."

"Il valore è lo specifico oggetto, dato o informazione all'interno della variabile."

"Puoi spiegarmi meglio i tipi di variabili?"

"Certo. Ogni oggetto in Java ha un determinato tipo. Ad esempio: intero, numero frazionario, testo, Gatto, Casa e così via."

"Anche le variabili hanno un tipo e possono contenere solo valori di tipo corrispondente."

"Lo puoi vedere nel mondo reale. Si usano tipi di scatole diversi per contenere cose diverse:"

"Per creare (o dichiarare) una variabile, usiamo il nome del tipo: TypeName variableName."

"Ecco alcuni esempi:"

Per dichiarare una variabile:
prima il tipo, poi il nome.
Descrizione
1
int a;
Crea una variabile int denominata a.
2
String s;
Crea una variabile String denominata s.
3
double c;
Crea una variabile double denominata c.

"I due tipi più comuni sono il tipo intero (dichiarato con la parola int) e il tipo testo (dichiarato con la parola String)."

"E double cos'è?"

"I double sono numeri frazionari o reali."

"Hai detto che una variabile ha tre proprietà: tipo, nome e valore. Ma qui ne vedo solo due. Quindi ti chiedo: come si assegna un valore a una variabile?"

"Torniamo alla nostra analogia della scatola. Immagina di prendere un pezzo di carta, scrivere il numero 42 e metterlo nella scatola. Ora la scatola contiene il valore 42."

"Capisco."

"Per assegnare valori alle variabili si usa una speciale operazione, detta assegnazione. L'assegnazione copia i valori da una variabile a un'altra. Attenzione: non sposta i valori, li copia solo, come si copia un file su un disco. Funziona così:"

Codice Descrizione
1
i = 3;
Assegna il valore 3 alla variabile i.
2
a = 1;
b = a+1;
Assegna il valore 1 alla variabile a.
Assegna il valore 2 alla variabile b.
3
x = 3;
x = x + 1;
Assegna il valore 3 alla variabile x.
Nella riga successiva, il valore di x viene incrementato di 1 e quindi x diventerà uguale a 4.

"Per eseguire l'operazione di assegnazione, usiamo il segno di uguale (=)."

"È bene chiarirlo: non stiamo facendo un confronto ma stiamo copiando il valore a destra del segno uguale nella variabile a sinistra. Per eseguire un confronto in Java, si utilizza un segno di uguale doppio (==)."

"Io so mettere un gatto in una variabile. È quasi come un programma."

"Come intrappolare un gatto:

1. Prendi una scatola vuota.

2. Aspetta."

"No, Amigo. Puoi infilare un solo gatto in una scatola. Ehm, voglio dire che puoi assegnare un solo valore a una variabile."

"Capisco. Puoi darmi altri esempi di creazione di variabili?"

"OK. Come ho detto, per creare (o dichiarare) una variabile devi usare il nome del tipo seguito da quello della variabile: TypeName variableName."

Codice Spiegazione
1
String s;
Viene creata una variabile di tipo String denominata s.
Questa variabile può memorizzare testo.
2
int x;
Viene creata una variabile di tipo int denominata x.
Questa variabile può memorizzare numeri interi.
3
int a, b, c;
int d;
Vengono create variabili int denominate a, b, c e d.
Queste variabili possono memorizzare numeri interi.

"Ah, ora capisco!"

"Tieni presente che non puoi creare due variabili con lo stesso nome nello stesso metodo."

"E in due metodi diversi?"

"Sì, quello si può fare. È come avere scatole in case diverse."

"Posso dare il nome che voglio a una variabile?"

"Quasi. I nomi delle variabili non possono contenere spazi o caratteri come +, -, ecc. È meglio limitarsi a usare lettere e numeri nei nomi delle variabili."

"Ricorda che in Java si fa differenza tra maiuscole e minuscole. int a non è la stessa cosa di Int a."

"Comunque, in Java puoi creare una variabile e assegnarle un valore allo stesso tempo. Così risparmi tempo e spazio.

Codice compatto Codice equivalente ma più lungo
1
int a = 5;
int b = 6;
int a;
a = 5;
int b;
b = 6;
2
int c = 7;
int d = c+1;
int c;
c = 7;
int d;
d = c+1;
3
String s = "I'm Amigo";
String s;
s = "I'm Amigo";

"In questo modo è molto più compatto e chiaro."

"È proprio così."

"Ci sono due tipi che ogni neofita di Java deve conoscere: int (interi) e String (testo/stringhe)."

"Nelle variabili di tipo int puoi memorizzare dei numeri, su cui puoi eseguire operazioni: addizione, sottrazione, moltiplicazione, divisione, ecc."

Codice Spiegazione
1
int x = 1;
int y = x*2;
int z = 5*y*y + 2*y + 3;
x è uguale a 1
y è uguale a 2
z è uguale a 20+4+3, ossia 27
2
int a = 5;
int b = 1;
int c = (a-b) * (a+b);
a è uguale a 5
b è uguale a 1
c è uguale a 4*6, ossia 24
3
int a = 64;
int b = a/8;
int c = b/4;
int d = c*3;
a è uguale a 64
b è uguale a 8
c è uguale a 2
d è uguale a 6

"Ci sono. La programmazione è sempre così facile?"

"In realtà sì."

"Niente male! E poi?"

"Nelle variabili di tipo String puoi memorizzare righe di testo, dette anche 'stringhe'."

"Per assegnare una stringa in Java, devi inserire il testo tra virgolette. Ecco alcuni esempi:"

Codice Spiegazione
1
String s = "Amigo";
s contiene "Amigo".
2
String s = "123";
s contiene "123".
3
String s = "123 + 456";
s contiene "123 + 456".

"Ci sono. Non sembra così difficile."

"Ed ecco un'altra cosa interessante."

"Puoi unire più stringhe con un segno più (+). Guarda questi esempi."

Codice Spiegazione
1
String s = "Amigo" + " is the best";
s contiene "Amigo is the best".
2
String s = "";
s contiene una stringa vuota, senza nessun carattere.
3
int x = 333;
String s = "Amigo" + x;
s contiene "Amigo333".

"Quindi si possono aggiungere stringhe a numeri?"

"Sì, ma ricorda che quando unisci stringhe e numeri, il risultato è sempre una stringa."

"L'avevo capito dal tuo esempio."

"Se sei così intelligente, allora dimmi come visualizzare una variabile sullo schermo."

"Uhm... una variabile? Sullo schermo? Non mi viene in mente niente."

"In realtà è semplice. Per visualizzare qualcosa sullo schermo usiamo il comando System.out.println() e gli passiamo quello che vogliamo visualizzare come argomento."

Codice Risultato sullo schermo
1
System.out.println("Amigo");
Amigo
2
System.out.println("Ami"+"go");
Amigo
3
String s = "Amigo";
System.out.println(s);
Amigo
4
String s = "Am";
System.out.println(s+"igo");
Amigo

"A-ha! Con questi esempi è tutto molto più chiaro."

"Perfetto. Allora ti propongo tre esercizi."