Classe Math API Java
Classe Math API Java
Fonctions mathématiques
trigonometric
FONCTIONS CLASSE MATH JAVA
En ce qui concerne les fonctions mathématiques en Java, les fonctions disponibles sont définies dans la classe Math.
Il y a beaucoup de fonctions disponibles. Vous pouvez consulter la liste complète dans la documentation officielle de l'API de
Java (selon version de Java en usage par exemple pour la version 8
voir[Link]
A continuación, nous montrerons les fonctions les plus importantes et des exemples d'utilisation :
Les fonctions liées aux angles (atan, cos, sin, tan, etc.) fonctionnent dans
radians. Par conséquent, pour travailler avec des degrés, nous devrons effectuer la
conversion opportune. La propre classe Math facilite les méthodes :toRadianspour
transformer des degrés sexagésimaux en radians et toDegrees pour transformer
radians en degrés sexagésimaux, bien que les conversions puissent ne pas être
totalement précises. Par exemple cos(toRadians(90.0)) devrait renvoyer 0, mais
il est probable qu'il renvoie une valeur d'environ zéro mais pas exactement
zéro en raison du fait que la précision décimale n'est pas absolue.
La fonction :random permet de générer des nombres aléatoires dans l'intervalle ]0,1[.
tanto le 0 que le 1 sont exclus.
La fonction d'exponentiation népérienne ou exponentiation de e, mathématiquement
signifie ex, que en Java serait [Link](x), où x est un nombre réel et la base
c'est la constante népérienne e = 2.7172...
Les fonctions round, ceil et floor sont utilisées pour obtenir un entier proche d'un
nombre décimal et ont des similitudes, en fait dans certains cas ils renvoient le
même résultat. Cependant, ils ont aussi des différences qui sont intéressantes
connaître. Ces trois fonctions s'appliquent aux valeurs numériques décimales et
retournent une valeur numérique qui, dans le cas de round, est un entier long, tandis que
que dans le cas de floor et ceil, renvoient une valeur de type double correspondante ou
équivalente avec un entier.
La méthode round arrondit toujours à l'entier le plus proche, par exemple 2,6
arrondit à 3 tandis que -2,6 arrondit à -3. Si le décimal est exactement
entre deux valeurs, on arrondit à l'entier supérieur le plus proche (par exemple 2,5
redondea à 3 et -2,5 redondea à -2).
Dans chaque programme, nous devrons déterminer quelle méthode est appropriée pour
obtenir les résultats souhaités. Par exemple, si nous devons arrondir
Quantités d'argent, il semble plus logique d'utiliser round. En revanche, si nous sommes
travaillant avec les âges d'une personne en années en utilisant des décimales, nous pourrons
raisonner différemment. L'âge d'une personne est une valeur positive (ce n'est pas
possible qu'elle prenne des valeurs négatives). On dit qu'une personne a x années
tant que je n'ai pas atteint x+1 ans, de sorte que pendant toute la période intermédiaire
nous disons qu'il a x ans. Par exemple, si j'ai 35 ans le 4 février de
2096, du 4 février 2096 au 3 février 2097 je dirai que
J'ai 35 ans. Mais dans un programme que je travaillais avec des décimales, au point
L'intermédiaire entre ces deux dates aurait 35,50 ans. Si je veux obtenir la valeur
que représente l'âge à partir de la valeur décimale, il sera logique d'utiliser le
méthode floor car elle nous renverra 35 pour toutes les valeurs décimales entre
35 et 36, tel que nous l'exprimons en langage naturel pour les âges. Dans ce cas
tanto round como ceil ne donneraient pas un résultat adéquat à nos
intérêts.
abs(float a) Retourne la valeur absolue d'une valeur flottante introduite comme paramètre.
abs(int a) Renvoie la valeur absolue d'une valeurEntier introduite en tant que paramètre.
addExact(int x, int y) Renvoie la somme de ses arguments, lançant une exception si le résultat d
addExact(long x, long y) Renvoie la somme de ses arguments, en lançant une exception si le résultat s
long.
multiplierExact(int x, int y) Renvoie le produit des arguments, en lançant une exception si le résultat
int.
multiplyExact(long x, long Retourne le produit des arguments, en lançant une exception si le résultat
y) long.
puissance(double a, double b) Retourne la valeur du premier argument élevé à la puissance du deuxième argument
aléatoire() Retourne une valeur double avec un signe positif, supérieure ou égale à 0,0 et moins
0
1 paquet clasemath;
2
3 import [Link];
4 /**
5 *
6 * @auteur [Link]
7 */
8 classe publique ClaseMath {
9
10 public static String metodoForm ( String patron, double dato) {
11 DecimalFormat objDF = new DecimalFormat (patron);
12 String result = [Link](dato);
13 retourner le résultat;
14 }
15
16 public static void main(String[] args) {
17 double num1 = -10,570;
18 double num2 = 4,10;
19 int num3 = 10;
20 int num4 = 38;
21 double dato;
22
23 [Link] ("La valeur absolue de %.3f est %.2f %n", num1, [Link](num1));
24
25 [Link] ("Le maximum de %d et %d est %d %n", num3, num4, [Link] (num3, num4));
26
27 [Link] ("Le minimum de %d et %d est %d %n", num3, num4, [Link] (num3, num4));
28
29 [Link] ("La valeur de e est %.4f %n", Math.E);
30
31 [Link] ("exp (%d) est %.3f %n", num3, [Link] (num3));
32
33 [Link] ("log (%d) est %.3f %n", num4, [Link] (num4));
34
35 [Link] ("%.2f élevé à %d est %f %n", num2, num3, dato = [Link] (num2, num3));
36
37 [Link]("Que con formato es: %n " +metodoForm("###,###.##",dato )+"%n");
38
39 [Link]("La racine carrée de (%.2f) est %.2f %n", num2, [Link](num2));
40 }
41 }
42
En console, nous aurions les résultats suivants :
Méthode random() de la classe Math.
Le méthode random peut être utilisé pour générer des nombres au hasard. L'intervalle ou la marge
avec lequel travaille la méthode random oscille entre 0.0 et 1.0 (ce dernier non inclus).
Par conséquent, pour générer un nombre entier entre 0 et 9, il faut écrire le suivant.
sentence:
0
1 int numero = (int) ([Link]() * 10);
2
De cette manière, en multipliant la valeur par 10, la plage des valeurs possibles devient :
0
1 0.0 <= numéro < 10.0
2
Pour terminer, vous pouvez voir un exemple de programme Java qui utilise la méthode random.
la classe de Math est làpage.
La classeMath
Classes et objets
Fonctions membre
La classe Math a des membres de données et des fonctions membres statiques, nous allons
connaître certaines de ces fonctions, comment elles s'appellent et quelle tâche elles accomplissent.
Fonctions membre
La classe Math définit de nombreuses fonctions et différentes versions de chaque fonction.
Par exemple, pour trouver la valeur absolue d'un nombre, définissez les suivantes
fonctionnalités. On appelle l'une ou l'autre en fonction du type de données qui lui est passé dans son
unique argument.
classe publique finale Math {
public static int abs(int a) {
retourner (a < 0) ? -a : a;
}
public static long abs(long a) {
retourner (a < 0) ? -a : a;
}
public static float abs(float a) {
retourner (a < 0) ? -a : a;
}
public static double abs(double a) {
return (a < 0) ? -a : a;
}
//...
}
Fonctions trigonométriques
Pour passer des coordonnées rectangulaires aux coordonnées polaires, la fonction atan2 est utile, qui
admet deux arguments, l'ordonnée et l'abscisse du point. Retourne l'angle
en radians.
double y=-6.2; //ordonnée
double x=1.2; abscisse
[Link]("atan2(" + y + " , " + x + ") est " + Math.atan2(y,
x));
On obtient 72,35 et 0,35 comme on pourrait s'y attendre. Remarquez que round retourne un
nombre entier qu'il est nécessaire de promouvoir à double pour effectuer la
division par 100.
Si nous utilisons la fonction floor au lieu de round, nous obtiendrions
Pour trouver le plus grand et le plus petit de deux nombres, on utilise les
fonctionsminymaxquebcomparent des nombres du même type.
int i = 7 ;
int j = -9;
double x = 72.3543;
double y = 0.3498;
// pour trouver le plus petit de deux nombres
[Link]("min(" + i + "," + j + ") est " + [Link](i,j));
[Link]("min(" + x + "," + y + ") est " + [Link](x,y));
// Pour trouver le plus grand de deux nombres
[Link]("max(" + i + "," + j + ") est " + [Link](i,j));
[Link]("max(" + x + "," + y + ") est " + [Link](x,y));
Nombres aléatoires
La classe Math définit une fonction appelée random qui retourne un nombre
pseudo-aléatoire compris dans l'intervalle [0.0, 1.0). Il existe une autre alternative, se
ils peuvent générer des nombres pseudo-aléatoires à partir d'un objet de
laclasseAléatoire, appelez la fonction miembronextDouble.
[Link]("Nombre aléatoire : " + [Link]());
[Link]("Un autre nombre aléatoire : " + [Link]());
Calcul du nombre irrationnel
Pour déterminer la longueur d'un cercle de rayon R, on commence par calculer le
périmètre d'un triangle équilatéral (3 côtés) inscrit dans ladite circonférence,
ensuite, d'un hexagone (6 côtés), un dodécagone (12 côtés), et ainsi de suite.
La limite de la succession des périmètres est précisément la longueur de la
circonférence2 R.
Si nous prenons un cercle de rayon unité, en divisant par deux les valeurs de
les périmètres nous obtiendrons les approximations successives du nombre
irrationnel .
Maintenant, nous devons transférer les formules mathématiques en code, et c'est ici que
nous pouvons avoir quelques surprises.
Avec une certaine surprise, nous avons observé la sortie du programme une fois qu'il a été complété.
le boucle, un zéro est imprimé, au lieu de 3.14159265358979323846.
Si nous observons les 30 premières itérations, nous voyons, comme cela est montré dans la
figure inférieure, que la valeur la plus proche de s'obtient lors des itérations 13, 14,
15 et 16.
tandis que(i<30){
//...
}
La conclusion finale est que nous devons faire très attention à transférer les
formules mathématiques en code. Les données de type prédéfini ne peuvent que
garder des valeurs entre un maximum et un minimum, tel queonous avons vu dans son
dé[Link]'autre part, une variable de type double a une précision limitée.
donc cela ne représente pas tous les nombres réels mais un ensemble fini