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.5Ecco 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.5Sfida
PrincipianteScrivi 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 diamodulo2e (int)che conterrà il risultato diamodulo3f (double)che conterrà il risultato dibmodulo1.5g (double)che conterrà il risultato dibmodulo3.9h (int)che conterrà il risultato dicmodulo10
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);
}
}Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Fondamenti
4Operatori - Parte 1
Operatori aritmeticiOperatore moduloIncremento/decrementoIncremento/decremento postfissoAbbreviazioni aritmeticheOperatori di confrontoConfronto tra stringhe7I/O di base
Metodi di System.outFormattare l'outputClasse ScannerRipasso - Fino a 120Ripasso - Vero o falso10Metodi (Funzioni)
Dichiarare i metodiParametri dei metodiTipi di ritornoSovraccarico dei metodiRipasso - Funzione SigmaRipasso - Funzione di validazioneMetodi void13Operazioni sulle stringhe
Metodi delle stringhe Parte 1Metodi delle stringhe Parte 2Formattazione delle stringheConfronto tra stringhe5Operatori Parte 2
Operatori logici Parte 1Operatori logici Parte 2Riepilogo - Logica sempliceOperatori logici Parte 3Operatori logici Parte 43Variabili Parte 2
CostantiConvenzioni di denominazioneRipasso - Inizializzare le variabiliConversione dei tipi Parte 1Conversione dei tipi Parte 26Decisioni
Istruzione ifIf - ElseIstruzione switchOperatore ternarioRiepilogo - If ElseIf - Else annidatiEsercitati da solo: Compilatore Java online