In Java, l’operatore modulo è rappresentato dal simbolo "%" (percentuale). L’operatore modulo è utilizzato per calcolare il resto della divisione tra due numeri interi. Ad esempio, l’espressione "8 % 3" restituisce il valore 2, poiché 8 diviso 3 ha un resto di 2.
L’operatore modulo è molto utile in molte situazioni: ad esempio, può essere utilizzato per verificare se un numero intero è pari o dispari.
Se un numero intero è divisibile per 2, infatti, il resto della divisione sarà 0 e il numero sarà pari(viceversa, se il resto è diverso da zero sarà dispari). Vediamo un esempio:
int numero = 7;
if (numero % 2 == 0) {
System.out.println(numero + " è un numero pari.");
} else {
System.out.println(numero + " è un numero dispari.");
}
In questo esempio, la variabile "numero" contiene il valore 7. L’operatore modulo viene utilizzato per verificare se il numero è pari o dispari. Se il resto della divisione tra il numero e 2 è 0, allora il numero è pari e viene stampato un messaggio appropriato. Altrimenti, il numero è dispari e viene stampato un messaggio diverso.
E’ il caso di ricordare che in Java l’operatore modulo funziona anche con numeri negativi (ad esempio, l’espressione "-8 % 3" restituisce il valore -2).
N.B. Java fornisce anche una funzione predefinita chiamata Math.floorMod() che calcola il modulo di un numero intero. Questa funzione restituisce sempre un risultato positivo, a differenza dell’operatore modulo che restituisce un valore negativo se il primo operando è negativo.
L’operatore modulo può anche essere utilizzato per verificare se un anno è bisestile o meno:
int anno = 2024;
if (anno % 4 == 0 && (anno % 100 != 0 || anno % 400 == 0)) {
System.out.println(anno + " è un anno bisestile.");
} else {
System.out.println(anno + " non è un anno bisestile.");
}
In questo esempio, la variabile "anno" contiene il valore 2024. L’operatore modulo viene utilizzato per verificare se l’anno è divisibile per 4 e se è divisibile per 100 e per 400. Se l’anno è divisibile solo per 4 o se è divisibile per 100 ma non per 400, allora l’anno è bisestile e viene stampato un messaggio appropriato. Altrimenti, l’anno non è bisestile e viene stampato un messaggio differente.
Ovviamente gli ambiti di utilizzo dell’operatore modulo di java non si esauriscono ai casi citati in quanto, programmando, vi troverete spesso ad avere bisogno del suo aiuto.