Module :
java.base - Package :
java.lang
Version documentée : Java SE 17
Classe « Math »
Informations générales
Héritage
java.lang.Object
java.lang.Math
Définition
public final class Math extends java.lang.Object
Description
Cette classe propose, sous forme de méthodes statiques, les fonctions mathématiques usuelles telles que les fonctions trigonométriques, exponentielles,
logarithmiques et autres.
les fonctions de la classe Math utilisent des primitives à virgules flottantes proposées par le processeur de la machine sur laquelle s'exécute le programme.
Cela permet de garantir des performances accrues. Le contre-coup étant, qu'entre deux machines distinctes, les résultats calculés peuvent être sensiblement
différents : c'est notamment le cas pour les fonctions trigonométriques.
Si vous souhaitez obtenir des résultats plus strictes et totalement prévisibles, ce quelle que soit la plateforme considérée et quitte à être moins performant,
il faut plutôt utiliser la classe
StrictMath. Cette dernière implémente les algorithmes provenant de la bibliothèque mathématique
Freely Distributable Math Library" (aussi appelée FdLibm).
Exemple de code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
/**
* La classe Vector représente un vecteur dans un espace à 3 dimensions.
*/
public class Vector {
private double x;
private double y;
private double z;
/**
* Méthode de normalisation du vecteur courant.
*/
public void normalize() {
// On calcule la norme du vecteur v1
double norm = Math.sqrt( Math.pow( this.x, 2 ) +
Math.pow( this.y, 2 ) +
Math.pow( this.z, 2 ) );
System.out.println( "norm == " + norm );
// On normalise le vecteur v1
this.x /= norm;
this.y /= norm;
this.z /= norm;
}
/**
* Méthode d'affichage du vecteur courant.
*/
@Override public String toString() {
return String.format( "[%f,%f,%f]", this.x, this.y, this.z );
}
public static void main( String[] args ) {
// On génère un vecteur aléatoirement
Vector v1 = new Vector();
v1.x = ( Math.random() * 10 ) - 5; // -5 <= x < 5
v1.y = ( Math.random() * 10 ) - 5; // -5 <= y < 5
v1.z = ( Math.random() * 10 ) - 5; // -5 <= z < 5
// On l'affiche
System.out.println( v1 );
// On le normalise
v1.normalize();
// On l'affiche une fois normalisé
System.out.println( v1 );
}
}
|
Exemple d'utilisation de la classe Math
Et voici les résultats produits par cet exemple de code.
[3,960620,1,900018,-1,060756]
norm == 4.5190468050428345
[0,876428,0,420447,-0,234730]
Disponible depuis
1.0
Voir aussi
La classe StrictMath
Liste des attributs
Tous les attributs
Attributs d'instance
Attributs statiques
Attributs dépréciés
public static |
double |
E |
|
public static |
double |
PI |
|
Liste des constructeurs
Constructeurs
Constructeurs dépréciés
Liste des propriétés (getters/setters)
Propriétés
Propriétés dépréciées
Propriétés héritées de la classe java.lang.Object
class
Liste des méthodes
Toutes les méthodes
Méthodes d'instance
Méthodes statiques
Méthodes concrètes
Méthodes abstraites
Méthodes dépréciées
public static |
int |
abs( int a ) |
|
public static |
long |
abs( long a ) |
|
public static |
float |
abs( float a ) |
|
public static |
double |
abs( double a ) |
|
public static |
int |
absExact( int a ) |
|
public static |
long |
absExact( long a ) |
|
public static |
double |
acos( double value ) |
Cette méthode implémente la fonction trigonométrique de calcul de l'arc cosinus de la valeur passée en paramètre. |
public static |
int |
addExact( int x, int y ) |
|
public static |
long |
addExact( long x, long y ) |
|
public static |
double |
asin( double value ) |
Cette méthode implémente la fonction trigonométrique de calcul l'arc sinus de la valeur passée en paramètre. |
public static |
double |
atan( double value ) |
Cette méthode implémente la fonction trigonométrique de calcul de l'arc tangente d'une valeur. |
public static |
double |
atan2( double y, double x ) |
Cette méthode permet de calculer l'arc tangente de y/x (ou x et y représentent les coordonnées d'un point dans le plan). |
public static |
double |
cbrt( double value ) |
Cette méthode permet de calculer la racine cubique d'une valeur. |
public static |
double |
ceil( double value ) |
Cette méthode calcule l'arrondi entier supérieur (ceil signifiant plafond) de la valeur spécifiée en paramètre. |
public static |
float |
copySign( float magnitude, float sign ) |
|
public static |
double |
copySign( double magnitude, double sign ) |
|
public static |
double |
cos( double angle ) |
Cette méthode implémente la fonction trigonométrique de calcul du cosinus d'un angle exprimé en radians. |
public static |
double |
cosh( double x ) |
|
public static |
long |
decrementExact( long a ) |
|
public static |
int |
decrementExact( int a ) |
|
public static |
double |
exp( double a ) |
|
public static |
double |
expm1( double x ) |
|
public static |
double |
floor( double value ) |
Cette méthode calcule l'arrondi entier inférieur (floor signifiant plancher) de la valeur spécifiée en paramètre. |
public static |
long |
floorDiv( long x, long y ) |
|
public static |
int |
floorDiv( int x, int y ) |
|
public static |
long |
floorDiv( long x, int y ) |
|
public static |
int |
floorMod( long x, int y ) |
|
public static |
int |
floorMod( int x, int y ) |
|
public static |
long |
floorMod( long x, long y ) |
|
public static |
double |
fma( double a, double b, double c ) |
|
public static |
float |
fma( float a, float b, float c ) |
|
public static |
int |
getExponent( float f ) |
|
public static |
int |
getExponent( double d ) |
|
public static |
double |
hypot( double x, double y ) |
|
public static |
double |
IEEEremainder( double f1, double f2 ) |
|
public static |
int |
incrementExact( int a ) |
|
public static |
long |
incrementExact( long a ) |
|
public static |
double |
log( double a ) |
|
public static |
double |
log10( double a ) |
|
public static |
double |
log1p( double x ) |
|
public static |
int |
max( int a, int b ) |
|
public static |
float |
max( float a, float b ) |
|
public static |
long |
max( long a, long b ) |
|
public static |
double |
max( double a, double b ) |
|
public static |
int |
min( int a, int b ) |
|
public static |
float |
min( float a, float b ) |
|
public static |
long |
min( long a, long b ) |
|
public static |
double |
min( double a, double b ) |
|
public static |
int |
multiplyExact( int x, int y ) |
|
public static |
long |
multiplyExact( long x, long y ) |
|
public static |
long |
multiplyExact( long x, int y ) |
|
public static |
long |
multiplyFull( int x, int y ) |
|
public static |
long |
multiplyHigh( long x, long y ) |
|
public static |
long |
negateExact( long a ) |
|
public static |
int |
negateExact( int a ) |
|
public static |
double |
nextAfter( double start, double direction ) |
|
public static |
float |
nextAfter( float start, double direction ) |
|
public static |
double |
nextDown( double d ) |
|
public static |
float |
nextDown( float f ) |
|
public static |
double |
nextUp( double d ) |
|
public static |
float |
nextUp( float f ) |
|
public static |
double |
pow( double value, double power ) |
Cette méthode permet de calculer une valeur élevée à une puissance donnée (valuepower ). |
public static |
double |
random() |
Cette méthode renvoie une valeur pseudo-aléatoire, typée double , supérieure ou égale à 0 et strictement inférieure à 1. |
public static |
double |
rint( double a ) |
|
public static |
long |
round( double value ) |
Cette méthode renvoie l'arrondi entier au plus proche de la valeur spécifiée en paramètre. |
public static |
int |
round( float a ) |
|
public static |
double |
scalb( double d, int scaleFactor ) |
|
public static |
float |
scalb( float f, int scaleFactor ) |
|
public static |
float |
signum( float f ) |
|
public static |
double |
signum( double d ) |
|
public static |
double |
sin( double angle ) |
Cette méthode implémente la fonction trigonométrique de calcul du sinus d'un angle exprimé en radians. |
public static |
double |
sinh( double x ) |
|
public static |
double |
sqrt( double value ) |
Cette méthode permet de calculer la racine carré d'une valeur passée en paramètre. |
public static |
int |
subtractExact( int x, int y ) |
|
public static |
long |
subtractExact( long x, long y ) |
|
public static |
double |
tan( double angle ) |
Cette méthode implémente la fonction trigonométrique de calcul de la tangente d'un angle exprimé en radians. |
public static |
double |
tanh( double x ) |
|
public static |
double |
toDegrees( double angrad ) |
|
public static |
int |
toIntExact( long value ) |
|
public static |
double |
toRadians( double angdeg ) |
|
public static |
double |
ulp( double d ) |
|
public static |
float |
ulp( float f ) |
|
Méthodes héritées de la classe java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Améliorations / Corrections
Vous avez des améliorations (ou des corrections) à proposer pour ce document : je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.
Emplacement :
Description des améliorations :