التقريب والحدود في Math
floor وceil وround وmin وmax
التقريب والحدود في Math درس مجاني في Java Academy على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Java Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Java Academy 4 دروس في المجموع.
التقريب والحدود
يركز هذا الدرس على مجموعة دوال Math الخاصة بالتقريب، وهي floor وceil وround، وعلى حصر القيم باستخدام min وmax.
Math.floor
تقرّب Math.floor إلى الأسفل إلى أقرب قيمة صحيحة، وتعيد قيمة من النوع double. وتكون نتيجة Math.floor(2.9) هي 2.0.
public class Main {
public static void main(String[] args) {
System.out.println(Math.floor(2.9));
System.out.println(Math.floor(-2.1));
}
}Math.ceil
تقرّب Math.ceil إلى الأعلى. فنتيجة Math.ceil(2.1) هي 3.0، ونتيجة Math.ceil(-2.9) هي -2.0.
public class Main {
public static void main(String[] args) {
System.out.println(Math.ceil(2.1));
System.out.println(Math.ceil(-2.9));
}
}Math.round
تقرّب Math.round إلى أقرب عدد صحيح، وعند التعادل، مثل .5، تقرّب إلى الأعلى. وعند تمرير double، تعيد قيمة من النوع long.
public class Main {
public static void main(String[] args) {
System.out.println(Math.round(2.4));
System.out.println(Math.round(2.5));
System.out.println(Math.round(-2.5));
}
}مفاجآت التقريب للأعداد السالبة
بالنسبة إلى الأعداد السالبة، تتجه floor إلى قيمة أكثر سلبية، بينما تتجه ceil نحو الصفر. وتكون نتيجة Math.round(-2.5) هي -2 لأنها تقرّب النصف إلى الأعلى، أي باتجاه اللانهاية الموجبة.
الاقتطاع باستخدام التحويل
يؤدي تحويل double إلى int ببساطة إلى حذف الجزء الكسري، أي الاقتطاع باتجاه الصفر. وهذا يختلف عن floor بالنسبة إلى الأعداد السالبة.
public class Main {
public static void main(String[] args) {
System.out.println((int) 2.9);
System.out.println((int) -2.9);
System.out.println((int) Math.floor(-2.9));
}
}استخدام الحد الأدنى والأقصى كحدود
ادمج Math.max وMath.min من أجل حصر قيمة ضمن نطاق. فالتعبير Math.max(0, Math.min(100, v)) يبقي v بين 0 و100.
public class Main {
public static void main(String[] args) {
int v = 130;
int clamped = Math.max(0, Math.min(100, v));
System.out.println(clamped);
}
}Math.clamp
أضافت Java الحديثة Math.clamp(value, min, max)، التي تنفّذ تقييد القيمة مباشرةً وتُعدّ أسهل قراءةً من استدعاءات min/max المتداخلة.
public class Main {
public static void main(String[] args) {
System.out.println(Math.clamp(130, 0, 100));
System.out.println(Math.clamp(-5, 0, 100));
System.out.println(Math.clamp(50, 0, 100));
}
}floorDiv وfloorMod
يقرّب تقسيم الأعداد الصحيحة باتجاه الصفر، ما قد يسبب نتائج مفاجئة مع القيم السالبة. أما Math.floorDiv وMath.floorMod فيقرّبان باتجاه اللانهاية السالبة، مما يعطي نتائج متسقة.
public class Main {
public static void main(String[] args) {
System.out.println(-7 / 2);
System.out.println(Math.floorDiv(-7, 2));
System.out.println(Math.floorMod(-7, 2));
}
}التقريب إلى منازل عشرية
لتقريب قيمة إلى N منازل عشرية، كبّر المقياس ثم قرّب وبعد ذلك أعد تصغيره: لتقريب x إلى منزلتين استخدم Math.round(x * 100.0) / 100.0.
public class Main {
public static void main(String[] args) {
double price = 3.14159;
double rounded = Math.round(price * 100.0) / 100.0;
System.out.println(rounded);
}
}اختيار طريقة التقريب
استخدم floor للتقريب دائمًا إلى الأسفل، وceil للتقريب دائمًا إلى الأعلى، وround للتقريب إلى الأقرب، والتحويل النوعي للاقتطاع. ولتقييد القيم ضمن حدود، يُفضّل استخدام Math.clamp.
تحقق سريع
اختبر مدى فهمك للتقريب.
مراجعة
تعلّمت التقريب وتقييد القيم ضمن حدود.
- يقرّب
floorإلى الأسفل، ويقرّبceilإلى الأعلى، ويقرّبroundإلى الأقرب، وعند التعادل إلى الأعلى. - يقتطع التحويل النوعي القيمة باتجاه الصفر.
- يقيّد
Math.clamp(أو استدعاءات min/max المتداخلة) القيمة ضمن نطاق. - يعالج
floorDivوfloorModالقيم السالبة بطريقة متسقة.
تعلم Java مع معلم ذكاء اصطناعي — مجانًا
اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.
- الدورات
- 104
- الدروس
- 374
الأسئلة الشائعة
هل درس «التقريب والحدود في Math» مجاني؟
نعم — نص درس «التقريب والحدود في Math» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Java Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Java Academy 4 دروس في المجموع.
ماذا ستتعلم في «التقريب والحدود في Math»؟
floor وceil وround وmin وmax تتمرن على Java Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Java Academy؟
لا تُشترط خبرة سابقة. Java Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.
كم من الوقت يستغرق درس «التقريب والحدود في Math»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Java Academy هذا؟
نعم. كل درس في Java Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- الفئة Math
- توليد الأعداد العشوائية
- النطاقات العشوائية والخلط
- التقريب والحدود في Math