1. Esaminiamo più da vicino il tipo int
Se vuoi memorizzare nelle variabili numeri interi, devi usare il tipo int.
int è l’abbreviazione di Integer («intero» in inglese), il che suggerisce che questo tipo consente di memorizzare numeri interi.
Le variabili di tipo int possono memorizzare numeri interi nell’intervallo da -2 miliardi a +2 miliardi. Oppure, per essere più precisi, da -2.147.483.648 a 2.147.483.647.
Fatto interessante
Questi valori non tondi sono legati all’organizzazione della memoria del computer.
In Java per il tipo int sono riservati 4 byte di memoria. Ogni byte di memoria è composto da 8 bit. Ogni bit può assumere solo 2 valori — 0 oppure 1. Una variabile di tipo int contiene 32 bit e può assumere 4.294.967.296 valori.
Metà di questo intervallo è stata destinata ai numeri negativi e l’altra metà a quelli positivi. Ecco perché risulta proprio da -2.147.483.648 a 2.147.483.647.
2. Creazione di una variabile di tipo int
Il tipo int è destinato a memorizzare numeri interi. Per creare nel codice una variabile in grado di memorizzare numeri interi, usa un’istruzione del tipo:
int imya;
Dove imya è il nome della variabile. Esempi:
| Istruzione | Descrizione |
|---|---|
|
Viene creata la variabile intera x |
|
Viene creata la variabile intera count |
|
Viene creata la variabile intera currentYear |
La differenza tra maiuscole e minuscole è significativa: le istruzioni int color e int Color dichiarano due variabili diverse.
Le istruzioni Int Color e INT COLOR non verranno comprese dal compilatore, che segnalerà un errore. int è una parola speciale che indica il tipo intero e si scrive solo in minuscolo.
3. Sintassi abbreviata per creare variabili
Se in un punto del programma è necessario creare molte variabili dello stesso tipo, è possibile farlo usando una forma abbreviata:
int imya1, imya2, imya3;
Esempi:
| Istruzioni | Forma abbreviata delle stesse istruzioni |
|---|---|
|
|
|
|
|
|
4. Assegnazione di valori
Per assegnare un valore a una variabile di tipo int, usa l’istruzione:
imya = znachenie;
Dove il valore può essere qualsiasi espressione intera. Esempi:
| Istruzione | Nota |
|---|---|
|
|
|
La variabile conterrà il valore «2 miliardi» |
|
La variabile conterrà il valore «meno 10 milioni» |
|
Non compila, poiché 3.000.000.000 è maggiore del valore massimo possibile per il tipo int 2.147.483.647 |
5. Sintassi abbreviata per creazione e inizializzazione di una variabile
La creazione (dichiarazione) di una variabile e l’assegnazione di un valore possono essere scritte in un’unica istruzione. Nella maggior parte dei casi si fa proprio così, poiché una variabile viene solitamente dichiarata quando sorge la necessità di salvare un certo valore.
L’istruzione appare così:
int imya = znachenie;
Esempi:
| Istruzione | Nota |
|---|---|
|
|
|
La variabile conterrà il valore «2 miliardi» |
|
La variabile conterrà il valore «meno 10 milioni» |
|
Non compila, poiché 3.000.000.000 è maggiore del valore massimo possibile per il tipo int: 2.147.483.647 |
È possibile dichiarare anche più variabili in una sola riga. L’istruzione avrà la forma:
int imya1 = znachenie1, imya2 = znachenie2, imya3 = znachenie3;
Esempi:
| Istruzione | Nota |
|---|---|
|
a è uguale a 5, b è uguale a 10, c è uguale a 15 |
6. Valutazione di espressioni intere
A destra dell’operatore di assegnazione (segno di uguale) può esserci qualsiasi espressione — una combinazione di numeri, variabili e segni +, -, *, /.
Si possono usare anche le parentesi ( ). In Java, come in matematica, prima si valutano le espressioni tra parentesi e poi — quelle fuori. Moltiplicazione e divisione hanno la stessa precedenza, superiore a quella di addizione e sottrazione.
Esempi:
| Istruzione | Nota |
|---|---|
|
La variabile conterrà il valore 8 |
|
La variabile conterrà il valore 1 |
|
La variabile conterrà il valore 6 |
|
Eseguendo questa istruzione si verificherà un errore e il programma terminerà. |
Nelle espressioni possono partecipare anche variabili:
int a = 1; // La variabile a conterrà il valore 1
int b = 2; // La variabile b conterrà il valore 2
int c = a * b + 2; // La variabile c conterrà il valore 4
Inoltre, la stessa variabile può trovarsi contemporaneamente sia a sinistra sia a destra dell’operatore di assegnazione:
int x = 5; // La variabile x conterrà il valore 5
x = x + 1; // La variabile x conterrà il valore 6
x = x + 1; // La variabile x conterrà il valore 7
x = x + 1; // La variabile x conterrà il valore 8
x = x + 1; // La variabile x conterrà il valore 9
x = x + 1; // La variabile x conterrà il valore 10
Il punto è che nel linguaggio Java il simbolo = non indica l’uguaglianza, ma è un’istruzione che assegna alla variabile a sinistra del segno = il valore calcolato dell’espressione a destra del segno =.
7. Divisione tra numeri interi
In Java, dividendo un numero intero per un numero intero si ottiene sempre un numero intero. Il resto della divisione viene scartato. In altre parole, viene scartata la parte frazionaria.
Esempi:
| Istruzione | Risultato della divisione | Nota |
|---|---|---|
|
2,5 | Nella variabile a ci sarà il valore 2 |
|
6,6667 | Nella variabile b ci sarà il valore 6 |
|
-1,2 | Nella variabile c ci sarà il valore -1 |
|
0,5 | Nella variabile d ci sarà il valore 0 |
8. Resto della divisione tra interi
Oltre a addizione, sottrazione, moltiplicazione e divisione, per i numeri interi in Java esiste anche l’operatore «resto della divisione». Si usa il simbolo percentuale — %. Si tratta proprio del resto della divisione di un intero per un intero, non della parte frazionaria.
Esempi:
| Istruzione | Risultato della divisione | Nota |
|---|---|---|
|
2 e resto 1 | Nella variabile a ci sarà il valore 1 |
|
5 e resto 0 | Nella variabile b ci sarà il valore 0 |
|
1 e resto 4 | Nella variabile c ci sarà il valore 4 |
|
0 e resto 1 | Nella variabile d ci sarà il valore 1 |
È un operatore molto utile e viene usato abbastanza spesso. Per esempio, per sapere se un numero è pari o dispari, basta dividerlo per 2 e confrontare il resto con zero. Se il resto è uguale a zero, il numero è pari; se è uguale a uno, è dispari.
Il controllo appare così:
(a % 2) == 0
Dove, come avrai già intuito, a % 2 è l’ottenimento del resto della divisione per 2 (cioè 0 oppure 1), mentre == viene usato per confrontarlo con zero.
9. Incremento e decremento
Nella programmazione capita molto spesso di aumentare o diminuire una variabile di un’unità. Per queste operazioni in Java esistono istruzioni specifiche:
L’operatore di incremento (aumento di uno) è il seguente:
a++;
Questa istruzione fa la stessa cosa dell’istruzione a = a + 1; — aumenta la variabile a di uno.
L’operatore di decremento (diminuzione di uno) è il seguente:
a--;
Questa istruzione fa la stessa cosa dell’istruzione a = a - 1; — diminuisce la variabile a di uno.
Esempio 1
int x = 5; // La variabile x conterrà il valore 5
x++; // La variabile x conterrà il valore 6
x++; // La variabile x conterrà il valore 7
x++; // La variabile x conterrà il valore 8
x++; // La variabile x conterrà il valore 9
x++; // La variabile x conterrà il valore 10
Esempio 2
int x = 5; // La variabile x conterrà il valore 5
x--; // La variabile x conterrà il valore 4
x--; // La variabile x conterrà il valore 3
x--; // La variabile x conterrà il valore 2
x--; // La variabile x conterrà il valore 1
x--; // La variabile x conterrà il valore 0
x--; // La variabile x conterrà il valore -1
GO TO FULL VERSION