O que é divisão inteira em Java?
A divisão em Java ocorre normalmente como a divisão regular em matemática ou na vida real. No entanto, ele apenas descarta o restante. Por exemplo, se você dividir 9 por 2, o quociente é 4 e o resto é 1.
Exemplo 1 [Resto é 0]
A divisão inteira em Java funciona perfeitamente para todos os casos onde o divisor divide completamente o dividendo (inteiro dividido por x inteiro). A resposta é um número inteiro e o tipo de dados inteiro pode mantê-lo sem estouro. Portanto, não há perda de dados. Por exemplo, dê uma olhada no trecho a seguir.
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);
}
}
Saída
100/5 = 20 143/11 = 13
Exemplo 2 [ Restante não é 0 ]
Para todos os casos de divisão em que o resto não for 0, o resultado final será cortado para o maior inteiro divisível (9/2 = 4). Isso será exibido no próximo exemplo. Pode haver momentos em que você precisa do quociente real em decimal. Nesse caso, você pode usar o tipo de dados float ou double. No entanto, se você deseja arredondar o quociente para o int mais próximo, pode fazer o seguinte.
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);
}
}
Saída
Divisão inteira 9 / 2 = 4 Divisão matemática 9,0 / 2 = 4,5 Arredondamento divisão int 9,0 / 2 = 5
Explicação
O Caso I e o Caso II são auto-explicativos. Para o Caso III, você pode dividi-lo nas etapas a seguir.-
Primeiro, você precisa converter o dividendo em um duplo.
-
Execute a divisão int regular do Java.
-
Arredonde o quociente usando o método Math.round() .
-
Use o tipo de dados longo para armazenar o quociente arredondado.
-
Ai está! Você tem a saída desejada como o quociente.
GO TO FULL VERSION