Menu
Coddy logo textTech

Operatore modulo

Fa parte della sezione Fondamenti del percorso Java di Coddy. Lezione 16 di 73.

L’operatore modulo % restituisce il resto di una divisione. In Java si usa con una sintassi semplice:

result = dividend % divisor;
  • dividendo: Il numero che viene diviso.
  • divisore: Il numero che divide il dividendo.
  • risultato: Il resto della divisione.

Per esempio:

result = 10 % 3;

Qui, 10 viene diviso per 3. 3 entra in 10 tre volte, con un resto di 1. Quindi, result sarà 1.

E se il dividendo è minore del divisore? In tal caso, il divisore entra 0 volte, quindi il resto è semplicemente il dividendo stesso. Per esempio, 2 % 3 è uguale a 2, perché 3 entra in 2 zero volte e resta 2.

Di solito si usa il modulo per verificare se un numero è pari o dispari:

  • Se un numero è pari, dividendolo per 2 il resto sarà 0.
  • Se un numero è dispari, dividendolo per 2 il resto sarà 1.

Quando usi il modulo con numeri in virgola mobile (double), funziona in modo simile ai numeri interi, ma mantiene la precisione decimale. Per esempio:

double result = 5.5 % 2.0;
// result è 1.5

Ecco come funziona: 2.0 entra in 5.5 due volte (4.0) e il resto è 1.5 (5.5 - 4.0 = 1.5).

Nota: i valori double vengono memorizzati come approssimazioni, quindi alcuni resti vengono visualizzati con un piccolo errore. Per esempio, 5.2 % 2.0 visualizza 1.2000000000000002 invece di 1.2. È il normale comportamento della virgola mobile, non un errore nel tuo codice.

Un altro esempio:

double result = 7.5 % 3.5;
// result è 0.5
challenge icon

Sfida

Principiante

Scrivi un codice che inizializzi tre variabili, a (int), b (double) e c (int) con i valori 9, 2.6 e 11 (rispettivamente).

Successivamente, inizializza le seguenti variabili:

  • d (int) che conterrà il risultato di a modulo 2 
  • e (int) che conterrà il risultato di a modulo 3
  • f (double) che conterrà il risultato di b modulo 1.5
  • g (double) che conterrà il risultato di b modulo 3.9
  • h (int) che conterrà il risultato di c modulo 10

Controlla il risultato e osserva come diversi dividendi e divisori influiscono sul risultato.

Provalo tu

public class Main {
    public static void main(String[] args) {
        // Scrivi il tuo codice qui sotto
        
        
        // Non modificare la riga qui sotto
        System.out.println("a = " + a);
        System.out.println("b = " + b);
        System.out.println("c = " + c);
        System.out.println("d = " + d);
        System.out.println("e = " + e);
        System.out.println("f = " + f);
        System.out.println("g = " + g);
        System.out.println("h = " + h);
    }
}
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Fondamenti

Esercitati da solo: Compilatore Java online