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.0Puissance, 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.0Minimum, 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)); // 75Plancher, 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.57Logarithmes 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.72Mé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.98Math.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); // 6En 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 mVé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
- Les notions essentielles de la classe Math
- Arithmétique entière et dépassement de capacité
- BigDecimal pour les calculs financiers
- NumberFormat et printf