التعليم السعودي

التعامل مع الأعداد في جافا  Java numbers 

التعامل مع الأعداد في جافا  Java numbersالتعامل مع الأعداد في جافا  Java numbers
التعامل مع الأعداد في جافا  Java numbers
التعامل مع الأعداد في جافا  Java numbers
التعامل مع الأعداد في جافا  Java numbers

المناهج السعودية

التعامل مع الأعداد في جافا  Java numbers

مفهوم الأعداد

أعداد: تعني numbers في اللغة الإنجليزيةو نحن عادةً ما نستخدم أنواع البيانات البدائية ( أي الـprimitive ) لتخزين الأعداد.
أي لتعريف متغير بهدف تخزين عدد, نعرفه كـ int أو float أو double إلخ..

مثال

  • int a = 10;
  • short b = 50;
  • float c = 10.5f;
  • double d = 37.002;

أحياناً يضطر المبرمج أن يستخدم الكائن للنوع و ليس الشكل البدائي للنوع.
من أجل ذلك, جافا تقدم لنا wrapper classes.

ما معنى wrapper classes؟

كل نوع بيانات بدائي في جافا له كلاس يمثله, و يكون من نفس إسمه, أمثلة:

  • النوع int يمكن تمثيله بالكلاس Integer.
  • النوع float يمكن تمثيله بالكلاس Float.
  • النوع byte يمكن تمثيله بالكلاس Byte.
  • النوع double يمكن تمثيله بالكلاس Double.
  • النوع short يمكن تمثيله بالكلاس Short.
  • النوع long يمكن تمثيله بالكلاس Long.

إذاً الـwrapper classes هم كل الكلاسات التي تمثل أنواع البيانات البدائية.
هذه الصورة تظهر لك جميع الكلاسات التي تمثل الأعداد.

ما هي فائدة الـ wrapper classes؟

فكرة الـ wrapper classes جعلنا قادرين على معاملة هذه الأنواع ككائنات و بناء دوال خاصة لهم و لكن المبرمج العادي قد لا يتعامل بتاتاً مع الـ wrapper classes لأنه نادراً ما يحتاج لهم.

مصطلحات تقنية

  • عملية تحويل النوع البدائي لكائن من نفس النوع تسمى boxing.
  • عملية إرجاع قيمة الكائن إلى النوع البدائي لهذا الكائن تسمى unboxing.

مثال

  • Integer a = 10// int و ليس Integer هنا ستكون a لأن نوع القيمة التي خزنها المتغير boxing هذه العملية تسمى
  • int b = a + 15// 15 قبل إضافتها على int لأنه سيتم تحويل قيمته للنوع a بالنسبة للمتغير unboxing هذه العملية تسمى

شرح الكود

    • Integer a = 10.
      a يمثل كائن نوعه Integer قيمته 10.
  • int b = a + 15.
    هنا سيتم تحويل قيمة الكائن a إلى النوع int ثم إضافة 15 عليها و تخزين الناتج في المتغير b.

دوال الكلاس Math

إنتبه

ستلاحظ أن جميع الدوال المذكورة في الجدول تتعامل مع أعداد نوعها double و ترجع قيم نوعها double أيضاً.
السبب في ذلك أن النوع double يجعلك قادر على تمرير أي عدد سواء كان نوعه intlong أو float بدون الحاجة إلى تحويله.

الكلاس Math هو كلاس جاهز في جافا, يحتوي على دوال تتعلق بالرياضيات, ذكرنا بعضها في هذا الجدول.

إسم الدالة مع تعريفها
1 publicstaticdoubleabs(double d)ترجع القيمة المطلقة للعدد الذي نمرره لها مكان البارامتير d.
2 publicstaticdoubleceil(double d)ترجع العدد الصحيح الأكبر أو الذي يساوي العدد الذي نمرره لها مكان الباراميتر d.
3 publicstaticdoublefloor(double d)ترجع العدد الصحيح الأصغر أو الذي يساوي العدد الذي نمرره لها مكان الباراميتر d.
4 publicstaticdoublerint(double d)ترجع أقرب عدد صحيح للعدد الذي نمرره لها مكان الباراميتر d.
5 publicstaticlonground(double d)ترجع أقرب عدد صحيح للعدد الذي نمرره لها مكان الباراميتر d.
6 publicstaticdoublemax(double a, double b)ترجع العدد الأكبر بين العددين اللذين نمررهما لها مكان الباراميترين a و b.
7 publicstaticdoublemin(double a, double b)ترجع العدد الأصغر بين العددين اللذين نمررهما لها مكان الباراميترين a و b.
8 publicstaticdoubleexp(double d)ترجع قيمة الـ exponential للعدد الذي نمرره لها مكان الباراميتر d.
9 publicstaticdoublelog(double d)ترجع قيمة الـ logarithm للعدد الذي نمرره لها مكان الباراميتر d.
10 publicstaticdoublepow(double a, double b)تضاعف قيمة الباراميتر a بقيمة الباراميتر b ثم ترجع الناتج.
11 publicstaticdoublesqrt(double d)ترجع قيمة الجزر التربيعي (square root) للعدد الذي نمرره لها مكان الباراميتر d.
12 publicstaticdoublesin(double d)ترجع قيمة الـ sine للعدد الذي نمرره لها مكان الباراميتر d.
13 publicstaticdoublecos(double d)ترجع قيمة الـ cosine للعدد الذي نمرره لها مكان الباراميتر d.
14 publicstaticdoubletan(double d)ترجع قيمة الـ tangent للعدد الذي نمرره لها مكان الباراميتر d.
15 publicstaticdoubleasin(double d)ترجع قيمة الـ arc sine للعدد الذي نمرره لها مكان الباراميتر d.
16 publicstaticdoubleacos(double d)ترجع قيمة الـ arc cosine للعدد الذي نمرره لها مكان الباراميتر d.
17 publicstaticdoubleatan(double d)ترجع قيمة الـ arc tangent للعدد الذي نمرره لها مكان الباراميتر d.
18 publicstaticdoubletoDegrees(double d)تحول قيمة العدد الذي نمرره لها مكان الباراميتر d لـ Degrees ثم ترجع الناتج.
19 publicstaticdoubletoRadians(double d)تحول قيمة العدد الذي نمرره لها مكان الباراميتر d لـ Radians ثم ترجع الناتج.
20 publicstaticdoublerandom()ترجع عدد عشوائي بين 0 و 1.

ثوابت الكلاس Math

الكلاس Math يحتوي أيضاً على الثوابت التالية التي تتعلق بالرياضيات.

إسم الثابت تعريفه
E يحتوي على قيمة الـ Exponential.
PI يحتوي على قيمة الـ PI.

 

دوال الأعداد التي تستخدم مع كائنات الـ wrapper classes

ذكرنا بعض الدوال التي تستخدم مع الـ wrapper classes في هذا الجدول.

إسم الدالة مع تعريفها
1 public … xxxValue()عبارة عن مجموعة دوال تستخدم لتحويل قيمة الكائن ( الذي يمثل عدد ) لقيمة بدائية تحددها الدالة التي تم إستدعاءها من الكائن و ترجعها.
2 publicintcompareTo(T o)تقارن قيمة الكائن الذي قام باستدعائها و الذي يمثل عدد ما مع قيمة الكائن التي نمررها لها مكان الباراميتر o.
ترجع 0 إن كانت قيمتهما متساوية, و ترجع 1 إن كانت قيمة الكائن الذي إستدعاها أكبر, و ترجع 1- إن كانت قيمة الكائن الذي إستدعاها أصغر.
3 publicbooleanequals(Object o)تقارن قيمة الكائن الذي قام باستدعائها و الذي يمثل عدد ما مع قيمة الكائن التي نمررها لها مكان الباراميتر o.
ترجع true إن كانت قيمتهما متساوية, و ترجع false إن لم تكن كذلك.
4 publicstatic Integer valueOf(String s)تحول قيمة الكائن s التي نمررها لها و التي تمثل عدد في الأساس لقيمة نوعها Integer.
5 public String toString()ترجع قيمة الكائن الذي قام باستدعائها و الذي يمثل عدد ما كـ String.
ملاحظة: تحويل القيمة العددية لقيمة نصية مفيد جداً في بعض الحالات و يجعل المبرمج يستفيد من دوال هي في الأصل ليست للتعامل مع الأعداد.
6 public … parseXxx(String s)عبارة عن مجموعة دوال تستخدم للحصول على القيمة البدائية لعدد مخزن كـ String.

 
المصدر: التعامل مع الأعداد في جافا  Java numbers – المناهج السعودية

مقالات ذات صلة

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

زر الذهاب إلى الأعلى