המחלקה Math
מהי המחלקה Math?
Math היא מחלקה מובנית עם אוסף של פונקציות ופעולות מתמטיות. כולן static,
כלומר משתמשים בהן ישירות בלי ליצור אובייקט.
אין צורך לייבא - Math נמצאת ב-java.lang.
קבועים שימושיים
Math.PI // 3.141592653589793
Math.E // 2.718281828459045
פעולות בסיסיות
ערך מוחלט
Math.abs(-5); // 5
Math.abs(-3.14); // 3.14
מינימום ומקסימום
Math.max(5, 10); // 10
Math.min(5, 10); // 5
Math.max(3.5, 2.8); // 3.5
חזקה
Math.pow(2, 10); // 1024.0 - 2 בחזקת 10
Math.pow(5, 2); // 25.0
שורש
Math.sqrt(16); // 4.0
Math.sqrt(2); // 1.4142135...
שורש קובייה:
Math.cbrt(27); // 3.0
עיגול
עיגול רגיל (לקרוב ביותר)
Math.round(4.4); // 4
Math.round(4.5); // 5
Math.round(4.7); // 5
עיגול כלפי מעלה
Math.ceil(4.1); // 5.0
Math.ceil(4.0); // 4.0
עיגול כלפי מטה
Math.floor(4.9); // 4.0
Math.floor(4.0); // 4.0
פונקציות טריגונומטריות
הן עובדות ברדיאנים (לא במעלות):
Math.sin(Math.PI / 2); // 1.0 (sin של 90 מעלות)
Math.cos(0); // 1.0
Math.tan(Math.PI / 4); // 1.0 (tan של 45 מעלות)
המרה בין מעלות לרדיאנים
double radians = Math.toRadians(180); // Math.PI
double degrees = Math.toDegrees(Math.PI); // 180.0
לוגריתמים
Math.log(Math.E); // 1.0 - לוג טבעי (בסיס e)
Math.log10(1000); // 3.0 - לוג בבסיס 10
Math.exp(1); // 2.718... - e בחזקת x
מספר אקראי
double r = Math.random(); // 0.0..1.0
int dice = (int)(Math.random() * 6) + 1; // 1..6
דוגמה: חישוב היפוטנוזה
double a = 3;
double b = 4;
double c = Math.sqrt(Math.pow(a, 2) + Math.pow(b, 2));
System.out.println("היפוטנוזה: " + c); // 5.0
דוגמה: עיגול למספר ספרות אחרי הנקודה
double value = 3.14159265;
// עיגול ל-2 ספרות אחרי הנקודה
double rounded = Math.round(value * 100.0) / 100.0;
System.out.println(rounded); // 3.14
השוואה בין Math לאופרטורים
חלק מהפעולות אפשר לעשות גם בלי Math:
int a = 5;
int abs = (a < 0) ? -a : a; // ערך מוחלט בלי Math
int square = a * a; // במקום Math.pow(a, 2)
אבל Math נקייה יותר וברורה יותר, במיוחד בחישובים מורכבים.
בדקו את עצמכם
נסו לענות לבד לפני שאתם פותחים את התשובה.
-
מה מחזיר
Math.round(2.5)?הצגת התשובה
תשובה ב. Math.round מעגל חצי כלפי מעלה, ולכן 2.5 הופך ל-3.
-
איזו פונקציה מחשבת חזקה?
הצגת התשובה
תשובה ד. Math.pow(2, 3) מחזיר 8.0. ב-Java ^ הוא XOR ולא חזקה.