Division entière en Java

JavaJavaBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire, vous allez apprendre à utiliser la division d'entiers en Java. La division est une opération mathématique qui permet de diviser une quantité par une autre. En Java, il existe différentes manières de réaliser une division d'entiers, et il est important de comprendre les différences entre elles.

Configuration de l'environnement

Ouvrez le terminal et créez un nouveau fichier Java en utilisant la commande suivante :

touch ~/project/IntegerDivision.java

Division d'entiers simple

Dans cette étape, vous allez apprendre à effectuer une division d'entiers simple en Java. La division d'entiers simple est celle où le diviseur et le dividende sont des nombres entiers et le résultat est également un entier.

public class IntegerDivision {
    public static void main(String[] args) {
        int a = 25;
        int b = 5;
        int c = a / b;
        System.out.println(a + " / " + b + " = " + c);
    }
}

Ici, nous définissons deux entiers a et b, et nous effectuons l'opération de division en utilisant l'opérateur /. Le résultat est stocké dans l'entier c. Enfin, nous affichons le résultat en utilisant System.out.println().

Pour exécuter le code, utilisez la commande suivante :

javac IntegerDivision.java && java IntegerDivision

La sortie devrait être :

25 / 5 = 5

Perte de données dans la division d'entiers

Dans cette étape, vous allez apprendre à gérer les situations où vous pouvez perdre de la précision dans la division d'entiers.

public class IntegerDivision {
    public static void main(String[] args) {
        int a = 10;
        int b = 3;
        int c = a / b;
        System.out.println(a + " / " + b + " = " + c);
    }
}

Dans ce cas, nous définissons deux entiers a et b, mais nous obtenons un résultat différent car nous perdons de la précision. Le résultat de cette opération n'est pas 3,3333 mais plutôt 3, car nous traitons des entiers.

Pour exécuter le code, utilisez la même commande que dans l'étape 2 :

javac IntegerDivision.java && java IntegerDivision

La sortie devrait être :

10 / 3 = 3

Division avec le type de données Double

Dans cette étape, vous allez apprendre à gérer les situations où vous devez maintenir la précision.

public class IntegerDivision {
    public static void main(String[] args) {
        int a = 10;
        int b = 3;
        double c = (double) a / b;
        System.out.println(a + " / " + b + " = " + c);
    }
}

Ici, nous définissons deux entiers a et b. Cependant, nous changeons le type de données de c de int en double. Nous convertissons également a en double pour vous assurer que l'opération de division est effectuée avec une précision double. Enfin, nous affichons le résultat.

Pour exécuter le code, utilisez la même commande que dans l'étape 2 :

javac IntegerDivision.java && java IntegerDivision

La sortie devrait être :

10 / 3 = 3.3333333333333335

Division avec le type de données Double commun

Dans cette étape, vous allez apprendre une autre manière de gérer les situations où vous devez maintenir la précision.

public class IntegerDivision {
    public static void main(String[] args) {
        int a = 10;
        int b = 3;
        double c = a / 3.0;
        System.out.println(a + " / 3.0 = " + c);
    }
}

Ici, nous changeons simplement l'un des opérandes en un double en utilisant 3.0 au lieu de 3. Cela assure que a est divisé avec une précision double.

Pour exécuter le code, utilisez la même commande que dans l'étape 2 :

javac IntegerDivision.java && java IntegerDivision

La sortie devrait être :

10 / 3.0 = 3.3333333333333335

Divisions multiples avec le type de données Double commun

Dans cette étape, vous allez apprendre à effectuer des divisions multiples avec une précision double.

public class IntegerDivision {
    public static void main(String[] args) {
        int a = 10;
        int b = 3;
        double c = a / 3.0;
        double d = 2.0 / b;
        System.out.println(a + " / 3.0 = " + c);
        System.out.println("2.0 / " + b + " = " + d);
    }
}

Nous définissons deux variables double c et d, et nous effectuons deux divisions. Comme mentionné précédemment, nous utilisons 3.0 pour assurer une précision double dans la première division. Dans la deuxième division, nous utilisons 2.0 pour assurer une précision double.

Pour exécuter le code, utilisez la même commande que dans l'étape 2 :

javac IntegerDivision.java && java IntegerDivision

La sortie devrait être :

10 / 3.0 = 3.3333333333333335
2.0 / 3 = 0.6666666666666666

Affectation de division

Dans cette étape, vous allez apprendre à effectuer une division à l'aide de l'opérateur d'affectation de division /=, qui est une notation abrégée pour x = x / y.

public class IntegerDivision {
    public static void main(String[] args) {
        int a = 10;
        int b = 3;
        double c = 2.0;
        c /= b;
        System.out.println("2.0 / " + b + " = " + c);
    }
}

Nous définissons une variable int a, une variable int b et une variable double c. Nous initialisons c à 2,0. Ensuite, nous utilisons l'opérateur d'affectation de division pour diviser c par b. Enfin, nous affichons le résultat.

Pour exécuter le code, utilisez la même commande que dans l'étape 2 :

javac IntegerDivision.java && java IntegerDivision

La sortie devrait être :

2.0 / 3 = 0.6666666666666666

Division entière avec l'opérateur modulo

Dans cette étape, vous allez apprendre à utiliser l'opérateur modulo %, qui renvoie le reste d'une opération de division.

public class IntegerDivision {
    public static void main(String[] args) {
        int a = 10;
        int b = 3;
        int c = a % b;
        System.out.println(a + " % " + b + " = " + c);
    }
}

Nous définissons les variables int a et b, et nous utilisons l'opérateur modulo % pour obtenir le reste de l'opération de division. Le résultat est stocké dans la variable int c, et nous affichons le résultat.

Pour exécuter le code, utilisez la même commande que dans l'étape 2 :

javac IntegerDivision.java && java IntegerDivision

La sortie devrait être :

10 % 3 = 1

Division par zéro

Dans cette étape, vous allez apprendre ce qui se passe lorsqu'on divise par zéro.

public class IntegerDivision {
    public static void main(String[] args) {
        int a = 10;
        int b = 0;
        int c = a / b;
        System.out.println(a + " / " + b + " = " + c);
    }
}

Nous définissons deux variables int a et b, et nous essayons de diviser a par b. Étant donné que la division par zéro n'est pas autorisée, Java lève une exception de runtime appelée ArithmeticException.

Si vous essayez d'exécuter le code, vous verrez un message d'erreur comme celui-ci :

Exception in thread "main" java.lang.ArithmeticException: / by zero
	at IntegerDivision.main(IntegerDivision.java:5)

Correction de la division par zéro

Dans cette étape, vous allez apprendre à corriger les erreurs de division par zéro à l'aide d'instructions conditionnelles.

public class IntegerDivision {
    public static void main(String[] args) {
        int a = 10;
        int b = 0;
        if (b!= 0) {
            int c = a / b;
            System.out.println(a + " / " + b + " = " + c);
        } else {
            System.out.println("Impossible de diviser par zéro");
        }
    }
}

Ici, nous utilisons une instruction if pour vérifier si b est différent de zéro. Si b n'est pas égal à zéro, nous effectuons l'opération de division et affichons le résultat. Sinon, nous affichons un message d'erreur.

Pour exécuter le code, utilisez la même commande que dans l'étape 2 :

javac IntegerDivision.java && java IntegerDivision

La sortie devrait être :

Impossible de diviser par zéro

Récapitulatif

Dans ce laboratoire, vous avez appris les différentes manières de réaliser des divisions entières en Java. Vous avez appris à gérer les situations où vous risquez de perdre en précision, à effectuer des divisions avec une précision double et à utiliser l'opérateur modulo. Vous avez également appris à gérer les erreurs de division par zéro à l'aide d'instructions conditionnelles.