Division des nombres entiers en Java

Rashmi Patidar 12 octobre 2023
Division des nombres entiers en Java

L’article présente une explication détaillée de ce qui se passe en interne lorsque nous divisons deux entiers.

Dans le code Java ci-dessous, il y a quatre instructions java. Chaque ligne imprime une sortie différente en fonction des nombres qui se divisent les uns des autres.

package integer_division;

public class IntegerDivision {
  public static void main(String[] args) {
    System.out.println(10 / 9);
    System.out.println(-10 / 9);
    System.out.println(10 / -9);
    System.out.println(10 / 19);
    System.out.println((float) 10 / 9);
    System.out.println((double) 10 / 9);
  }
}
  1. Dans le cas 1, un entier plus grand est divisé par un entier plus petit. La sortie résultante est l’entier 1. Mathématiquement, lorsque nous divisons dix par neuf, cela se traduit par un nombre répétitif qui est 1.1111.... Mais dans le langage Java, lorsqu’un entier divise un autre entier, il jette le reste et garde le quotient. Par conséquent, la sortie résultante est un entier.
  2. Dans le cas 2, lorsque nous divisons l’entier négatif en un entier positif, cela donne un entier comme -1. Comme indiqué ci-dessus, l’entier jette le reste et garde le quotient. Par conséquent, la valeur résultante est un entier négatif.
  3. Dans le cas 3, il y a le cas inverse où le numérateur est un entier positif et le dénominateur est un entier négatif. La sortie résultante est -1. Encore une fois, le signe négatif du numérateur ou du dénominateur n’a pas beaucoup d’importance. Il divise simplement les deux nombres sans garder aucun reste. Et par conséquent, la sortie est à nouveau un négatif d’entier.
  4. Dans le cas 4, le dénominateur est plus grand que le numérateur, ce qui donne un nombre inférieur à 1. Comme indiqué ci-dessus, le nombre tronque après zéro et imprime la valeur 0 comme sortie.
  5. Dans le cas 5, nous convertissons manuellement la sortie en une valeur float.

Comprenons d’abord le typage.

Typecasting est le processus de conversion d’un type de données en un autre, et nous pouvons le faire manuellement ou automatiquement.

  1. Élargissement du typage: il est souvent appelé conversion implicite. Dans ce type de conversion, un type de données plus petit est converti en un type de données supérieur. Le compilateur effectue ce casting automatiquement.
  2. Casting de typage restreint: il est souvent appelé conversion explicite. Dans ce type de conversion, un type de données plus grand est converti en un type de données plus petit, ce qui entraîne une perte de données.

Ainsi, dans le cas 3, les données tronquées implicitement par le compilateur sont converties manuellement en nombre float, ce qui donne un nombre rationnel complet. Ce numéro affiche des données jusqu’à 8 chiffres.

De même, dans le cas 6, nous allons caster manuellement la division entière en une valeur double. Donc, cela se traduira par un nombre décimal qui affiche des nombres jusqu’à 16 chiffres.

Reportez-vous à la section ci-dessous pour la sortie du code ci-dessus.

1
-1
-1
0
1.1111112
1.1111111111111112
Rashmi Patidar avatar Rashmi Patidar avatar

Rashmi is a professional Software Developer with hands on over varied tech stack. She has been working on Java, Springboot, Microservices, Typescript, MySQL, Graphql and more. She loves to spread knowledge via her writings. She is keen taking up new things and adopt in her career.

LinkedIn

Article connexe - Java Integer