0Pricing
Java Academy · Leçon

Les notions essentielles de la classe Math

Utilisez Math.abs, Math.pow, Math.sqrt, Math.random et d’autres méthodes Math fréquemment employées.

Les notions essentielles de la classe Math est une leçon Java Academy gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Java Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Java Academy comprend 4 leçons au total.

La classe Math

La classe java.lang.Math fournit des méthodes utilitaires statiques pour les opérations mathématiques courantes. Elle est toujours disponible : aucun import n’est nécessaire.

Valeur absolue et signe

Math.abs() renvoie la valeur absolue, c’est-à-dire une valeur non négative. Math.signum() renvoie -1.0, 0.0 ou 1.0 selon le signe.

System.out.println(Math.abs(-42));      // 42
System.out.println(Math.abs(3.14));     // 3.14
System.out.println(Math.signum(-5.0));  // -1.0
System.out.println(Math.signum(0.0));   //  0.0
System.out.println(Math.signum(7.0));   //  1.0

Puissance, racine carrée et racine cubique

Utilisez Math.pow(base, exp) pour les puissances, Math.sqrt() pour les racines carrées et Math.cbrt() pour les racines cubiques.

System.out.println(Math.pow(2, 10));  // 1024.0
System.out.println(Math.sqrt(144));   // 12.0
System.out.println(Math.cbrt(27));    // 3.0

// Hypotenuse of a right triangle (a=3, b=4)
double hyp = Math.sqrt(Math.pow(3, 2) + Math.pow(4, 2));
System.out.println(hyp); // 5.0

Minimum, maximum et limitation

Math.min() et Math.max() renvoient respectivement la plus petite et la plus grande de deux valeurs. Combinez-les pour créer une limitation qui maintient une valeur dans une plage donnée.

int a = 10, b = 20;
System.out.println(Math.min(a, b)); // 10
System.out.println(Math.max(a, b)); // 20

// Clamp value between 0 and 100
int clamp(int value, int min, int max) {
    return Math.max(min, Math.min(value, max));
}
System.out.println(clamp(150, 0, 100)); // 100
System.out.println(clamp(-5,  0, 100)); // 0
System.out.println(clamp(75,  0, 100)); // 75

Plancher, plafond et arrondi

Math.floor() arrondit vers le bas, Math.ceil() arrondit vers le haut et Math.round() arrondit à l’entier le plus proche, en arrondissant les demi-unités vers le haut.

double price = 9.3;
System.out.println(Math.floor(price));  // 9.0
System.out.println(Math.ceil(price));   // 10.0
System.out.println(Math.round(price));  // 9

double shipping = 3.5;
System.out.println(Math.round(shipping)); // 4 (half-up)

// Round to 2 decimal places
double tax = 7.5678;
double rounded = Math.round(tax * 100.0) / 100.0;
System.out.println(rounded); // 7.57

Logarithmes et exponentielles

Math.log() calcule le logarithme naturel, de base e, Math.log10() calcule le logarithme en base 10 et Math.exp() calcule e^x.

System.out.println(Math.log(Math.E));   // 1.0
System.out.println(Math.log10(1000));   // 3.0
System.out.println(Math.exp(1));        // 2.718281828...

// Change of base: log2(8)
double log2 = Math.log(8) / Math.log(2);
System.out.println(log2); // 3.0

// Compound interest: P * e^(r*t)
double principal = 1000, rate = 0.05, years = 10;
double amount = principal * Math.exp(rate * years);
System.out.printf("Amount: %.2f%n", amount); // 1648.72

Méthodes trigonométriques

Math fournit des fonctions trigonométriques qui acceptent des angles en radians. Utilisez Math.toRadians() pour convertir des degrés en radians.

double angle = Math.toRadians(45);
System.out.printf("sin(45): %.4f%n", Math.sin(angle)); // 0.7071
System.out.printf("cos(45): %.4f%n", Math.cos(angle)); // 0.7071
System.out.printf("tan(45): %.4f%n", Math.tan(angle)); // 1.0000

// Distance between two GPS coordinates (simplified)
double lat1 = Math.toRadians(40.7128);
double lat2 = Math.toRadians(34.0522);
double deltaLat = lat2 - lat1;
System.out.printf("Delta lat (rad): %.4f%n", deltaLat);

Nombres aléatoires

Math.random() renvoie un double dans [0.0, 1.0). Multipliez puis convertissez le résultat pour obtenir des entiers dans une plage donnée. Pour une meilleure qualité aléatoire, préférez java.util.Random.

// Random double [0.0, 1.0)
double rand = Math.random();

// Random int [min, max] inclusive
int min = 1, max = 6;
int dice = (int) (Math.random() * (max - min + 1)) + min;
System.out.println("Dice roll: " + dice); // 1–6

// Prefer java.util.Random for more features
import java.util.Random;
Random rng = new Random();
int secureRoll = rng.nextInt(6) + 1; // cleaner API
System.out.println("Secure roll: " + secureRoll);

Constantes : PI et E

Math.PI et Math.E sont des constantes de type double correspondant à π et au nombre d’Euler e. Utilisez-les pour les calculs géométriques et financiers.

System.out.println(Math.PI); // 3.141592653589793
System.out.println(Math.E);  // 2.718281828459045

// Circle area and circumference
double radius = 7.0;
double area = Math.PI * Math.pow(radius, 2);
double circumference = 2 * Math.PI * radius;

System.out.printf("Area: %.2f%n", area);           // 153.94
System.out.printf("Circumference: %.2f%n", circumference); // 43.98

Math.floorDiv et Math.floorMod

Math.floorDiv() et Math.floorMod() traitent les nombres négatifs de manière cohérente, contrairement aux opérateurs / et %, qui peuvent produire des résultats surprenants avec des valeurs négatives.

// Regular % can be negative with negative dividend
System.out.println(-7 % 3);           // -1 (may surprise you)
System.out.println(Math.floorMod(-7, 3)); // 2  (always non-negative)

// Floor division rounds toward negative infinity
System.out.println(-7 / 3);              // -2 (truncates toward zero)
System.out.println(Math.floorDiv(-7, 3)); // -3 (floors down)

// Use floorMod for cyclic calculations like days of week
int day = Math.floorMod(-1, 7); // Sunday (6), not -1
System.out.println(day); // 6

En pratique : distance et physique

Application des méthodes Math à un problème de physique : calculer la portée d’un projectile à l’aide de la trigonométrie et des racines carrées.

// Projectile range: R = v^2 * sin(2*angle) / g
double velocity = 50.0;   // m/s
double angleDeg = 45.0;   // degrees
double g = 9.81;          // m/s^2

double angleRad = Math.toRadians(angleDeg);
double range = Math.pow(velocity, 2) * Math.sin(2 * angleRad) / g;

System.out.printf("Projectile range: %.1f m%n", range); // 254.8 m

Vérification rapide

Quelle est la sortie de Math.floorMod(-7, 3) ?

Récapitulatif : la classe Math

Points essentiels :

  • Math.abs, Math.min et Math.max pour les comparaisons de base
  • Math.pow, Math.sqrt et Math.cbrt pour les puissances et les racines
  • Math.floor, Math.ceil et Math.round pour les arrondis
  • Math.log, Math.log10 et Math.exp pour les logarithmes et les exponentielles
  • Math.sin, Math.cos et Math.tan utilisent des radians : convertissez avec Math.toRadians
  • Math.floorMod traite proprement les nombres négatifs dans l’arithmétique cyclique
  • Math.PI et Math.E sont des constantes intégrées

Questions Fréquemment Posées

La leçon « Les notions essentielles de la classe Math » est-elle gratuite ?

Oui — le texte complet de « Les notions essentielles de la classe Math » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Java Academy, passe à CoddyKit PRO. Le cours Java Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Les notions essentielles de la classe Math » ?

Utilisez Math.abs, Math.pow, Math.sqrt, Math.random et d’autres méthodes Math fréquemment employées. Tu pratiques Java Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Java Academy ?

Aucune expérience préalable n'est requise. Java Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.

Combien de temps prend la leçon « Les notions essentielles de la classe Math » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Java Academy ?

Oui. Chaque leçon Java Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Les notions essentielles de la classe Math
  2. Arithmétique entière et dépassement de capacité
  3. BigDecimal pour les calculs financiers
  4. NumberFormat et printf
← Retour à Java Academy