שיעור Java Math מספק מספר שיטות לעבודה על חישובים מתמטיים כמו min(), max(), avg(), sin(), cos(), tan(), round(), ceil(), floor(), abs( ) וכו.
בניגוד לחלק מהשיטות המספריות של המחלקה StrictMath, כל ההטמעות של הפונקציה המקבילה של המחלקה Math אינן יכולות להגדיר להחזיר את אותן תוצאות ביט-עבור-סיביות. הרפיה זו מאפשרת יישום עם ביצועים טובים יותר כאשר אין צורך בשחזור קפדני.
אם הגודל הוא int או ארוך והתוצאות מציפות את טווח הערך, השיטות addExact(),�subtractExact(),�multiplyExact() ו�toIntExact()�זורקות �ArithmeticException.
עבור פעולות אריתמטיות אחרות כמו הגדלה, הקטנה, חלוקה, ערך אבסולוטי ושלילת הצפת – מתרחשות רק עם ערך מינימום או מקסימום ספציפי. יש לבדוק אותו מול הערך המקסימלי והמינימלי לפי העניין.
דוגמה 1
public class JavaMathExample1 { public static void main(String[] args) { double x = 28; double y = 4; // return the maximum of two numbers System.out.println('Maximum number of x and y is: ' +Math.max(x, y)); // return the square root of y System.out.println('Square root of y is: ' + Math.sqrt(y)); //returns 28 power of 4 i.e. 28*28*28*28 System.out.println('Power of x and y is: ' + Math.pow(x, y)); // return the logarithm of given value System.out.println('Logarithm of x is: ' + Math.log(x)); System.out.println('Logarithm of y is: ' + Math.log(y)); // return the logarithm of given value when base is 10 System.out.println('log10 of x is: ' + Math.log10(x)); System.out.println('log10 of y is: ' + Math.log10(y)); // return the log of x + 1 System.out.println('log1p of x is: ' +Math.log1p(x)); // return a power of 2 System.out.println('exp of a is: ' +Math.exp(x)); // return (a power of 2)-1 System.out.println('expm1 of a is: ' +Math.expm1(x)); } } בדוק את זה עכשיו תְפוּקָה:
Maximum number of x and y is: 28.0 Square root of y is: 2.0 Power of x and y is: 614656.0 Logarithm of x is: 3.332204510175204 Logarithm of y is: 1.3862943611198906 log10 of x is: 1.4471580313422192 log10 of y is: 0.6020599913279624 log1p of x is: 3.367295829986474 exp of a is: 1.446257064291475E12 expm1 of a is: 1.446257064290475E12
דוגמה 2
public class JavaMathExample2 { public static void main(String[] args) { double a = 30; // converting values to radian double b = Math.toRadians(a); // return the trigonometric sine of a System.out.println('Sine value of a is: ' +Math.sin(a)); // return the trigonometric cosine value of a System.out.println('Cosine value of a is: ' +Math.cos(a)); // return the trigonometric tangent value of a System.out.println('Tangent value of a is: ' +Math.tan(a)); // return the trigonometric arc sine of a System.out.println('Sine value of a is: ' +Math.asin(a)); // return the trigonometric arc cosine value of a System.out.println('Cosine value of a is: ' +Math.acos(a)); // return the trigonometric arc tangent value of a System.out.println('Tangent value of a is: ' +Math.atan(a)); // return the hyperbolic sine of a System.out.println('Sine value of a is: ' +Math.sinh(a)); // return the hyperbolic cosine value of a System.out.println('Cosine value of a is: ' +Math.cosh(a)); // return the hyperbolic tangent value of a System.out.println('Tangent value of a is: ' +Math.tanh(a)); } } בדוק את זה עכשיו תְפוּקָה:
Sine value of a is: -0.9880316240928618 Cosine value of a is: 0.15425144988758405 Tangent value of a is: -6.405331196646276 Sine value of a is: NaN Cosine value of a is: NaN Tangent value of a is: 1.5374753309166493 Sine value of a is: 5.343237290762231E12 Cosine value of a is: 5.343237290762231E12 Tangent value of a is: 1.0
שיטות מתמטיקה של Java
ה java.lang.Math המחלקה מכילה שיטות שונות לביצוע פעולות מספריות בסיסיות כגון לוגריתם, שורש קובייה ופונקציות טריגונומטריות וכו'. שיטות המתמטיקה השונות של Java הן כדלקמן:
שיטות מתמטיקה בסיסיות
| שיטה | תיאור |
|---|---|
| Math.abs() | זה יחזיר את הערך המוחלט של הערך הנתון. |
| Math.max() | הוא מחזיר את הערכים הגדולים מבין שניים. |
| Math.min() | הוא משמש להחזרת הערכים הקטן ביותר מבין שניים. |
| Math.round() | הוא משמש לעיגול של המספרים העשרוניים לערך הקרוב ביותר. |
| Math.sqrt() | הוא משמש להחזרת השורש הריבועי של מספר. |
| Math.cbrt() | הוא משמש להחזרת שורש הקובייה של מספר. |
| Math.pow() | הוא מחזיר את הערך של הטיעון הראשון שהועלה לכוח לטיעון השני. |
| Math.sign() | הוא משמש כדי למצוא את הסימן של ערך נתון. |
| Math.ceil() | הוא משמש כדי למצוא את הערך השלם הקטן ביותר שגדול או שווה לארגומנט או למספר שלם מתמטי. |
| Math.copySign() | הוא משמש כדי למצוא את הערך המוחלט של הארגומנט הראשון יחד עם הסימן שצוין בארגומנט השני. |
| Math.nextAfter() | הוא משמש להחזרת מספר הנקודה הצפה הסמוך לארגומנט הראשון בכיוון הארגומנט השני. |
| Math.nextUp() | הוא מחזיר את ערך הנקודה הצפה הסמוכה ל-d בכיוון של אינסוף חיובי. |
| Math.nextDown() | הוא מחזיר את ערך הנקודה הצפה הסמוכה ל-d בכיוון של אינסוף שלילי. |
| Math.floor() | הוא משמש כדי למצוא את הערך השלם הגדול ביותר שהוא קטן או שווה לארגומנט ושווה למספר השלם המתמטי של ערך כפול. |
| Math.floorDiv() | הוא משמש כדי למצוא את הערך השלם הגדול ביותר הקטן או שווה למנה האלגברית. |
| Math.random() | הוא מחזיר ערך כפול עם סימן חיובי, גדול או שווה ל-0.0 וקטן מ-1.0. |
| Math.rint() | הוא מחזיר את הערך הכפול הקרוב ביותר לארגומנט הנתון ושווה למספר שלם מתמטי. |
| Math.hypot() | זה מחזיר sqrt(x2�+y2) ללא הצפת ביניים או תת-הצפה. |
| Math.ulp() | זה מחזיר את הגודל של ulp של הטיעון. |
| Math.getExponent() | הוא משמש להחזרת המעריך הבלתי מוטה המשמש בייצוג של a�value. |
| Math.IEEEremainder() | הוא משמש לחישוב שאר הפעולה על שני ארגומנטים כפי שנקבע בתקן IEEE 754 ומחזיר ערך. |
| Math.addExact() | הוא משמש להחזרת סכום הטיעונים שלו, לזרוק חריג אם התוצאה עולה על גדותיה או ארוכה. |
| Math.subtractExact() | זה מחזיר את ההבדל של הארגומנטים, זורק חריג אם התוצאה עולה על גדותיה. |
| Math.multiplyExact() | הוא משמש כדי להחזיר את המכפלה של הארגומנטים, לזרוק חריג אם התוצאה עולה על גדותיה או ארוכה. |
| Math.incrementExact() | הוא מחזיר את הארגומנט המוגדל ב-1, וזורק חריג אם התוצאה עולה על גדותיה. |
| Math.decrementExact() | הוא משמש כדי להחזיר את הארגומנט מופחת באחד, לזרוק חריג אם התוצאה עולה על גדותיה או ארוכה. |
| Math.negateExact() | הוא משמש כדי להחזיר את השלילה של הטיעון, לזרוק חריג אם התוצאה עולה על גדותיה או ארוכה. |
| Math.toIntExact() | הוא מחזיר את הערך של הטיעון הארוך, וזורק חריג אם הערך עולה על גדותיו. |
שיטות מתמטיקה לוגריתמית
| שיטה | תיאור |
|---|---|
| Math.log() | הוא מחזיר את הלוגריתם הטבעי של ערך כפול. |
| Math.log10() | הוא משמש להחזרת לוגריתם הבסיס 10 של ערך כפול. |
| Math.log1p() | הוא מחזיר את הלוגריתם הטבעי של סכום הטיעון ו-1. |
| Math.exp() | הוא מחזיר את E מורם בחזקת ערך כפול, כאשר E הוא המספר של אוילר והוא שווה בערך ל-2.71828. |
| Math.expm1() | הוא משמש כדי לחשב את החזקה של E ולהפחית ממנו אחד. |
שיטות מתמטיקה טריגונומטריות
| שיטה | תיאור |
|---|---|
| Math.sin() | הוא משמש להחזרת ערך הסינוס הטריגונומטרי של ערך כפול נתון. |
| Math.cos() | הוא משמש להחזרת ערך הקוסינוס הטריגונומטרי של ערך כפול נתון. |
| Math.tan() | הוא משמש להחזרת ערך הטנג'נט הטריגונומטרי של ערך כפול נתון. |
| Math.asin() | הוא משמש להחזרת הערך הטריגונומטרי Arc Sine של ערך כפול נתון |
| Math.acos() | הוא משמש להחזרת הערך הטריגונומטרי של Arc Cosine של ערך כפול נתון. |
| Math.atan() | הוא משמש להחזרת הערך הטריגונומטרי קשת של ערך כפול נתון. |
שיטות מתמטיקה היפרבוליות
| שיטה | תיאור |
|---|---|
| Math.sinh() | הוא משמש להחזרת ערך קוסינוס היפרבולי טריגונומטרי של ערך כפול נתון. |
| Math.cosh() | הוא משמש להחזרת ערך הסינוס ההיפרבולי הטריגונומטרי של ערך כפול נתון. |
| Math.tanh() | הוא משמש להחזרת הערך ההיפרבולי הטריגונומטרי של ערך כפול נתון. |
שיטות מתמטיקה זוויתית
| שיטה | תיאור |
|---|---|
| Math.toDegrees | הוא משמש להמרת זווית הרדיאנים שצוינה לזווית מקבילה הנמדדת במעלות. |
| Math.toRadians | הוא משמש להמרת זווית המעלות שצוינה לזווית מקבילה הנמדדת ברדיאנים. |