CodeGym /Java Blog /Random-IT /Divisione intera Java
John Squirrels
Livello 41
San Francisco

Divisione intera Java

Pubblicato nel gruppo Random-IT

Cos'è la divisione intera in Java?

La divisione in Java avviene normalmente come una normale divisione in matematica o nella vita reale. Tuttavia, scarta solo il resto. Ad esempio, se dividi 9 per 2 il quoziente è 4 e il resto è 1. Divisione intera Java - 1Nella vita reale, la risposta è 4,5 o 4½. Se esegui lo stesso calcolo con int in Java, la tua risposta sarà 4. Non viene arrotondata all'intero più vicino (come ~ 4,5 = 5) 1 come resto viene buttato via.

Esempio 1 [Il resto è 0]

La divisione intera in Java funziona perfettamente per tutti i casi in cui il divisore divide completamente il dividendo (intero diviso x intero). La risposta è un numero intero e il tipo di dati intero può contenerlo senza overflow. Quindi non c'è perdita di dati. Ad esempio, dai un'occhiata al seguente frammento.

public class IntegerDivision {

	public static void main(String[] args) {
		
		int dividend = 100;
		int divisor = 5;
		int quotient = dividend / divisor;
		
		//Dividend completely divides the divisor
		System.out.println(dividend + " / " + divisor + " = " + quotient);
			
		dividend = 143;
		divisor = 11;
		quotient = dividend / divisor;
		
		//Dividend completely divides the divisor
		System.out.println(dividend + " / " + divisor + " = " + quotient);
	}
}
Produzione
100 / 5 = 20 143 / 11 = 13

Esempio 2 [Il resto non è 0]

Per tutti i casi di divisione in cui il resto non è 0, il risultato finale verrà tagliato al più grande intero divisibile (9/2 = 4). Questo verrà mostrato nel prossimo esempio. Potrebbero esserci momenti in cui è necessario il quoziente effettivo in decimale. In tal caso, puoi utilizzare il tipo di dati float o double. Tuttavia, se desideri arrotondare il quoziente all'int più vicino, puoi procedere come segue.

public class IntegerDivision {

	public static void main(String[] args) {

		int dividend = 9;
		int divisor = 2;
		int quotient = dividend / divisor;
		
		// Case I - Dividend does not divide the divisor completely
		// The quotient is chopped / truncated
		System.out.print("Integer division \t\t" );
		System.out.println(dividend + " / " + divisor + " = " + quotient);
		
		// Case II - Mathematical or real life division
		// Use float or double data type to get the actual quotient 
		
		double actualQuotient = (double)dividend / divisor;
		System.out.print("Mathematics division \t\t" );
		System.out.println((double)dividend + " / " + divisor + " = " + actualQuotient);
		
		// Case III - Integer Division with rounding off 
		// the quotient to the closest integer
		
		long roundedQuotient = Math.round((double)dividend / divisor);
		System.out.print("Round off int division \t\t" );
		System.out.println((double)dividend + " / " + divisor + " = " + roundedQuotient);

	}
}
Produzione
Divisione intera 9 / 2 = 4 Divisione matematica 9.0 / 2 = 4.5 Divisione intera arrotondata 9.0 / 2 = 5

Spiegazione

Il caso I e il caso II si spiegano da soli. Per il caso III, puoi suddividerlo nei seguenti passaggi.
  • Innanzitutto, devi convertire il dividendo in un doppio.

  • Esegui la normale divisione Java int.

  • Arrotonda il quoziente usando il metodo Math.round() .

  • Usa il tipo di dati long per memorizzare il quoziente arrotondato.

  • Ecco qua! Hai l'output desiderato come quoziente.

Conclusione

La divisione con numeri interi Java può sembrare complicata all'inizio. Ma con un po' di pratica e ripetizione, puoi farcela. Fai più pratica che puoi. Sentiti libero di tornare al nostro post ogni volta che ne hai voglia. Saluti! Per rafforzare ciò che hai imparato, ti suggeriamo di guardare una lezione video dal nostro corso Java
Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION