Retour au cours

Classes utilitaires essentielles (Math, Random, Date/Time API)

Maîtrise de Java : De Zéro à Développeur Professionnel (Un parcours en 50 leçons)

Leçon 42 : Classes utilitaires essentielles

Java fournit de nombreuses classes utilitaires, contenant souvent des méthodes static, qui simplifient les tâches courantes.

1. La classe Math

Contient des méthodes pour effectuer des opérations numériques de base, telles que les fonctions exponentielles élémentaires, logarithmiques, racine carrée et trigonométriques.

  • Toutes les méthodes et champs sont static.
  • Champs : Math.PI, Math.E.

java // Racine carrée double root = Math.sqrt(81.0); // 9.0

// Arrondi long rounded = Math.round(3.7); // 4

// Max/Min int maxVal = Math.max(10, 20); // 20

// Puissance double power = Math.pow(2, 3); // 8.0

2. La classe Random

Utilisée pour générer des nombres pseudo-aléatoires.

java import java.util.Random;

Random random = new Random();

// Génère un entier aléatoire int randInt = random.nextInt();

// Génère un entier aléatoire entre 0 (inclus) et 100 (exclu) int diceRoll = random.nextInt(100);

// Génère un double aléatoire entre 0.0 (inclus) et 1.0 (exclu) double randDouble = random.nextDouble();

3. L'API Date/Time moderne (java.time)

Introduite dans Java 8, cette API corrige de nombreux défauts des anciennes classes Date et Calendar. Elle est beaucoup plus claire, immuable et thread-safe.

  • LocalDate : Date sans heure ni fuseau horaire.
  • LocalTime : Heure sans date ni fuseau horaire.
  • LocalDateTime : Date et heure sans fuseau horaire.

java import java.time.LocalDate; import java.time.LocalDateTime;

// Date et heure actuelles LocalDate today = LocalDate.now(); System.out.println(today);

// Date spécifique LocalDate birthday = LocalDate.of(1990, 10, 20);

// Manipulation (tout ceci retourne de nouveaux objets immuables) LocalDate nextWeek = today.plusWeeks(1);